@oddsmith/ui 0.0.0 → 1.0.1
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.
- package/LICENSE +1 -1
- package/README.md +4 -115
- package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json +9 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json.js +13 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/config.json +8 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/defaults/glam-sections.json +564 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/fonts.json +3 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/labels.json +5 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/labels.json.js +12 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/labels.json.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/manifest.json +6 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/presets.json +38 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/presets.json.js +10 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/presets.json.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json +601 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js +8 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/themes.json +69 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js +73 -0
- package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg +7 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg.js +12 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg +7 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg.js +12 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg +5 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg.js +10 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg +10 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg.js +15 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg +5 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg.js +10 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg +5 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg.js +10 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg +8 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg.js +13 -0
- package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg +4 -0
- package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg.js +9 -0
- package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg +5 -0
- package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg.js +10 -0
- package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg +5 -0
- package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg.js +10 -0
- package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg +4 -0
- package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg.js +9 -0
- package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg +4 -0
- package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg.js +9 -0
- package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg +4 -0
- package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg.js +9 -0
- package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg +7 -0
- package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg.js +12 -0
- package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg +5 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg.js +10 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg +4 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg.js +9 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg +5 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg.js +10 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg +4 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg.js +9 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg +5 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg.js +10 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg +5 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg.js +10 -0
- package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/cards.png +0 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/cards.png.js +5 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/cards.png.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/chips.png +0 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/chips.png.js +5 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/chips.png.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/dice.png +0 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/dice.png.js +5 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/dice.png.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png +0 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png.js +5 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png +0 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png.js +5 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png +0 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png.js +5 -0
- package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png.js.map +1 -0
- package/dist/components/os-leaderboard-casino/assets/images/logo.png +0 -0
- package/dist/components/os-leaderboard-casino/constants/defaults.d.ts +8 -0
- package/dist/components/os-leaderboard-casino/constants/defaults.js +9 -0
- package/dist/components/os-leaderboard-casino/constants/defaults.js.map +1 -0
- package/dist/components/os-leaderboard-casino/constants/index.d.ts +2 -0
- package/dist/components/os-leaderboard-casino/constants/tags.d.ts +22 -0
- package/dist/components/os-leaderboard-casino/constants/tags.js +17 -0
- package/dist/components/os-leaderboard-casino/constants/tags.js.map +1 -0
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.d.ts +35 -0
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.host.d.ts +13 -0
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js +20 -0
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js.map +1 -0
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js +152 -0
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js.map +1 -0
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/index.d.ts +36 -0
- package/dist/components/os-leaderboard-casino/index.js +39 -0
- package/dist/components/os-leaderboard-casino/index.js.map +1 -0
- package/dist/components/os-leaderboard-casino/integration/assemble-assets.d.ts +21 -0
- package/dist/components/os-leaderboard-casino/integration/assemble-assets.js +48 -0
- package/dist/components/os-leaderboard-casino/integration/assemble-assets.js.map +1 -0
- package/dist/components/os-leaderboard-casino/integration/assets-context.d.ts +26 -0
- package/dist/components/os-leaderboard-casino/integration/assets-context.js +64 -0
- package/dist/components/os-leaderboard-casino/integration/assets-context.js.map +1 -0
- package/dist/components/os-leaderboard-casino/integration/defaults-glam.d.ts +14 -0
- package/dist/components/os-leaderboard-casino/integration/defaults-new-money.d.ts +3 -0
- package/dist/components/os-leaderboard-casino/integration/index.d.ts +5 -0
- package/dist/components/os-leaderboard-casino/integration/labels.d.ts +1 -0
- package/dist/components/os-leaderboard-casino/integration/load-assets.d.ts +9 -0
- package/dist/components/os-leaderboard-casino/integration/load-assets.js +22 -0
- package/dist/components/os-leaderboard-casino/integration/load-assets.js.map +1 -0
- package/dist/components/os-leaderboard-casino/integration/presets.d.ts +1 -0
- package/dist/components/os-leaderboard-casino/integration/resolve-input.d.ts +20 -0
- package/dist/components/os-leaderboard-casino/integration/resolve-input.js +99 -0
- package/dist/components/os-leaderboard-casino/integration/resolve-input.js.map +1 -0
- package/dist/components/os-leaderboard-casino/integration/themes.d.ts +1 -0
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.d.ts +19 -0
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.host.d.ts +15 -0
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js +46 -0
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js +74 -0
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.d.ts +5 -0
- package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js +116 -0
- package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.d.ts +16 -0
- package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.host.d.ts +8 -0
- package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js +90 -0
- package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.d.ts +10 -0
- package/{src/components/sf-leaderboard/sections/footer-section/footer-section.host.ts → dist/components/os-leaderboard-casino/sections/footer-section/footer-section.host.d.ts} +1 -1
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js +18 -0
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js +39 -0
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/games-section/components/game-images.d.ts +1 -0
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.d.ts +20 -0
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.host.d.ts +7 -0
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js +15 -0
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js +86 -0
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/header-section/header-section.d.ts +12 -0
- package/dist/components/os-leaderboard-casino/sections/header-section/header-section.host.d.ts +8 -0
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.d.ts +37 -0
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.host.d.ts +20 -0
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js +34 -0
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js +160 -0
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.d.ts +18 -0
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.host.d.ts +8 -0
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js +33 -0
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js +74 -0
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/live-feed-section/live-feed-section.d.ts +13 -0
- package/dist/components/os-leaderboard-casino/sections/live-feed-section/live-feed-section.host.d.ts +8 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.d.ts +3 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.js +8 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.d.ts +14 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.js +57 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.d.ts +42 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.host.d.ts +8 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js +17 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js +287 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.d.ts +6 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.js +16 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.d.ts +16 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js +71 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.d.ts +23 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.host.d.ts +11 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js +18 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js +135 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-band/stat-band.d.ts +17 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-card/stat-card.d.ts +15 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-chip/stat-chip.d.ts +17 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-gauge/stat-gauge.d.ts +14 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.d.ts +5 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.js +11 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-meter/stat-meter.d.ts +17 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.d.ts +17 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js +61 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.d.ts +16 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.host.d.ts +13 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js +34 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js +69 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.d.ts +31 -0
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.host.d.ts +15 -0
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js +38 -0
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js +183 -0
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/services/adapter.service.d.ts +11 -0
- package/dist/components/os-leaderboard-casino/services/adapter.service.js +49 -0
- package/dist/components/os-leaderboard-casino/services/adapter.service.js.map +1 -0
- package/dist/components/os-leaderboard-casino/services/icon.service.d.ts +28 -0
- package/dist/components/os-leaderboard-casino/services/icon.service.js +192 -0
- package/dist/components/os-leaderboard-casino/services/icon.service.js.map +1 -0
- package/dist/components/os-leaderboard-casino/services/index.d.ts +2 -0
- package/dist/components/os-leaderboard-casino/theme/index.d.ts +3 -0
- package/dist/components/os-leaderboard-casino/theme/prize-icons.d.ts +1 -0
- package/dist/components/os-leaderboard-casino/theme/prize-resolve.d.ts +5 -0
- package/dist/components/os-leaderboard-casino/theme/prize-resolve.js +11 -0
- package/dist/components/os-leaderboard-casino/theme/prize-resolve.js.map +1 -0
- package/dist/components/os-leaderboard-casino/theme/styles.d.ts +9 -0
- package/dist/components/os-leaderboard-casino/theme/styles.js +179 -0
- package/dist/components/os-leaderboard-casino/theme/styles.js.map +1 -0
- package/dist/components/os-leaderboard-casino/theme/vip-icons.d.ts +2 -0
- package/dist/components/os-leaderboard-casino/theme/vip-icons.js +6 -0
- package/dist/components/os-leaderboard-casino/theme/vip-icons.js.map +1 -0
- package/dist/components/os-leaderboard-casino/theme/vip-mark.d.ts +7 -0
- package/dist/components/os-leaderboard-casino/theme/vip-mark.js +20 -0
- package/dist/components/os-leaderboard-casino/theme/vip-mark.js.map +1 -0
- package/dist/components/os-leaderboard-casino/types/assets.d.ts +40 -0
- package/dist/components/os-leaderboard-casino/types/data.d.ts +106 -0
- package/dist/components/os-leaderboard-casino/types/data.js +7 -0
- package/dist/components/os-leaderboard-casino/types/data.js.map +1 -0
- package/dist/components/os-leaderboard-casino/types/events.d.ts +18 -0
- package/dist/components/os-leaderboard-casino/types/events.js +8 -0
- package/dist/components/os-leaderboard-casino/types/events.js.map +1 -0
- package/dist/components/os-leaderboard-casino/types/icons.d.ts +18 -0
- package/dist/components/os-leaderboard-casino/types/input.d.ts +73 -0
- package/dist/components/os-leaderboard-casino/types/ledger.d.ts +67 -0
- package/dist/components/os-leaderboard-casino/types/sections.d.ts +200 -0
- package/dist/components/os-leaderboard-casino/types/state.d.ts +69 -0
- package/dist/components/os-leaderboard-casino/types/state.js +12 -0
- package/dist/components/os-leaderboard-casino/types/state.js.map +1 -0
- package/dist/shared/lib/lit/component.d.ts +5 -0
- package/dist/shared/lib/lit/component.js +8 -0
- package/dist/shared/lib/lit/component.js.map +1 -0
- package/dist/shared/lib/lit/safe-custom-element.d.ts +5 -0
- package/dist/shared/lib/lit/safe-custom-element.js +7 -0
- package/dist/shared/lib/lit/safe-custom-element.js.map +1 -0
- package/dist/shared/lib/lit/scss.d.ts +3 -0
- package/dist/shared/lib/lit/scss.js +8 -0
- package/dist/shared/lib/lit/scss.js.map +1 -0
- package/dist/shared/lib/lit/template.d.ts +3 -0
- package/dist/shared/vendor/keen-slider-keen-slider.es.js +538 -0
- package/dist/shared/vendor/keen-slider-keen-slider.es.js.map +1 -0
- package/package.json +37 -39
- package/.eleventy.cjs +0 -14
- package/custom-elements.json +0 -1539
- package/docs/_README/index.html +0 -4
- package/docs/api/index.html +0 -2100
- package/docs/components.bundle.js +0 -1669
- package/docs/components.bundle.js.map +0 -1
- package/docs/docs.css +0 -162
- package/docs/examples/index.html +0 -56
- package/docs/index.html +0 -53
- package/docs/install/index.html +0 -45
- package/docs/prism-okaidia.css +0 -123
- package/docs-src/.nojekyll +0 -0
- package/docs-src/_README.md +0 -7
- package/docs-src/_data/api.11tydata.js +0 -8
- package/docs-src/_includes/example.11ty.js +0 -35
- package/docs-src/_includes/footer.11ty.js +0 -6
- package/docs-src/_includes/header.11ty.js +0 -7
- package/docs-src/_includes/nav.11ty.js +0 -11
- package/docs-src/_includes/page.11ty.js +0 -32
- package/docs-src/_includes/relative-path.cjs +0 -9
- package/docs-src/api.11ty.js +0 -85
- package/docs-src/bundle.ts +0 -9
- package/docs-src/docs.css +0 -162
- package/docs-src/examples/index.md +0 -15
- package/docs-src/index.md +0 -39
- package/docs-src/install.md +0 -28
- package/docs-src/package.json +0 -3
- package/index.html +0 -19
- package/karma.conf.cjs +0 -24
- package/main.css +0 -210
- package/main.ts +0 -124
- package/previews/casino.ts +0 -12
- package/previews/catalog.ts +0 -94
- package/previews/leaderboard-v1.ts +0 -12
- package/previews/leaderboard-v2.ts +0 -17
- package/previews/sample-data.ts +0 -101
- package/previews/sf-leaderboard.ts +0 -100
- package/previews/sf-live-feed.ts +0 -15
- package/previews/streaks.ts +0 -40
- package/previews/types.ts +0 -18
- package/src/components/README.md +0 -16
- package/src/components/casino-leaderboard/casino-leaderboard.html +0 -80
- package/src/components/casino-leaderboard/casino-leaderboard.scss +0 -585
- package/src/components/casino-leaderboard/casino-leaderboard.ts +0 -136
- package/src/components/casino-leaderboard/data.ts +0 -111
- package/src/components/casino-leaderboard/index.ts +0 -5
- package/src/components/casino-leaderboard/todo.txt +0 -2
- package/src/components/casino-leaderboard/types.ts +0 -19
- package/src/components/leaderboard/components/leaderboard.ts +0 -373
- package/src/components/leaderboard/components/player-card.ts +0 -342
- package/src/components/leaderboard/components/ui.ts +0 -452
- package/src/components/leaderboard/data.ts +0 -152
- package/src/components/leaderboard/index.ts +0 -2
- package/src/components/leaderboard/main.ts +0 -42
- package/src/components/leaderboard/styles.ts +0 -67
- package/src/components/leaderboard/types.ts +0 -28
- package/src/components/leaderboard-v2/components/sf-leaderboard-player.ts +0 -451
- package/src/components/leaderboard-v2/components/sf-leaderboard-ui.ts +0 -512
- package/src/components/leaderboard-v2/components/sf-leaderboard.ts +0 -205
- package/src/components/leaderboard-v2/constants.ts +0 -16
- package/src/components/leaderboard-v2/demo/sample-data.ts +0 -152
- package/src/components/leaderboard-v2/events.ts +0 -13
- package/src/components/leaderboard-v2/icons.ts +0 -22
- package/src/components/leaderboard-v2/index.ts +0 -23
- package/src/components/leaderboard-v2/sf-leaderboard.html +0 -1
- package/src/components/leaderboard-v2/sf-leaderboard.scss +0 -382
- package/src/components/leaderboard-v2/tokens.ts +0 -35
- package/src/components/leaderboard-v2/types.ts +0 -30
- package/src/components/sf-leaderboard/index.ts +0 -77
- package/src/components/sf-leaderboard/sections/footer-section/footer-section.html +0 -3
- package/src/components/sf-leaderboard/sections/footer-section/footer-section.scss +0 -18
- package/src/components/sf-leaderboard/sections/footer-section/footer-section.ts +0 -22
- package/src/components/sf-leaderboard/sections/header-section/header-section.host.ts +0 -14
- package/src/components/sf-leaderboard/sections/header-section/header-section.html +0 -27
- package/src/components/sf-leaderboard/sections/header-section/header-section.scss +0 -189
- package/src/components/sf-leaderboard/sections/header-section/header-section.ts +0 -70
- package/src/components/sf-leaderboard/sections/ranking-section/ranking-section.host.ts +0 -22
- package/src/components/sf-leaderboard/sections/ranking-section/ranking-section.html +0 -38
- package/src/components/sf-leaderboard/sections/ranking-section/ranking-section.scss +0 -99
- package/src/components/sf-leaderboard/sections/ranking-section/ranking-section.ts +0 -121
- package/src/components/sf-leaderboard/sections/stats-section/stats-section.host.ts +0 -8
- package/src/components/sf-leaderboard/sections/stats-section/stats-section.html +0 -6
- package/src/components/sf-leaderboard/sections/stats-section/stats-section.scss +0 -44
- package/src/components/sf-leaderboard/sections/stats-section/stats-section.ts +0 -41
- package/src/components/sf-leaderboard/sections/table-section/table-section.host.ts +0 -17
- package/src/components/sf-leaderboard/sections/table-section/table-section.html +0 -19
- package/src/components/sf-leaderboard/sections/table-section/table-section.scss +0 -37
- package/src/components/sf-leaderboard/sections/table-section/table-section.ts +0 -108
- package/src/components/sf-leaderboard/services/index.ts +0 -22
- package/src/components/sf-leaderboard/services/sf-leaderboard-data.service.ts +0 -54
- package/src/components/sf-leaderboard/services/sf-leaderboard.state.ts +0 -160
- package/src/components/sf-leaderboard/shared/components/activity-feed/activity-feed.host.ts +0 -7
- package/src/components/sf-leaderboard/shared/components/activity-feed/activity-feed.html +0 -10
- package/src/components/sf-leaderboard/shared/components/activity-feed/activity-feed.scss +0 -180
- package/src/components/sf-leaderboard/shared/components/activity-feed/activity-feed.ts +0 -88
- package/src/components/sf-leaderboard/shared/components/filters/filters.host.ts +0 -12
- package/src/components/sf-leaderboard/shared/components/filters/filters.html +0 -22
- package/src/components/sf-leaderboard/shared/components/filters/filters.scss +0 -122
- package/src/components/sf-leaderboard/shared/components/filters/filters.ts +0 -75
- package/src/components/sf-leaderboard/shared/components/player-avatar/player-avatar.host.ts +0 -9
- package/src/components/sf-leaderboard/shared/components/player-avatar/player-avatar.html +0 -5
- package/src/components/sf-leaderboard/shared/components/player-avatar/player-avatar.scss +0 -81
- package/src/components/sf-leaderboard/shared/components/player-avatar/player-avatar.ts +0 -34
- package/src/components/sf-leaderboard/shared/components/podium/map-players.ts +0 -24
- package/src/components/sf-leaderboard/shared/components/podium/podium.host.ts +0 -10
- package/src/components/sf-leaderboard/shared/components/podium/podium.html +0 -53
- package/src/components/sf-leaderboard/shared/components/podium/podium.scss +0 -580
- package/src/components/sf-leaderboard/shared/components/podium/podium.ts +0 -49
- package/src/components/sf-leaderboard/shared/components/podium/podium.types.ts +0 -9
- package/src/components/sf-leaderboard/shared/components/rank-badge/rank-badge.host.ts +0 -11
- package/src/components/sf-leaderboard/shared/components/rank-badge/rank-badge.html +0 -9
- package/src/components/sf-leaderboard/shared/components/rank-badge/rank-badge.scss +0 -98
- package/src/components/sf-leaderboard/shared/components/rank-badge/rank-badge.ts +0 -63
- package/src/components/sf-leaderboard/shared/components/stat-card/stat-card.host.ts +0 -9
- package/src/components/sf-leaderboard/shared/components/stat-card/stat-card.html +0 -15
- package/src/components/sf-leaderboard/shared/components/stat-card/stat-card.scss +0 -210
- package/src/components/sf-leaderboard/shared/components/stat-card/stat-card.ts +0 -36
- package/src/components/sf-leaderboard/shared/components/table/table.host.ts +0 -5
- package/src/components/sf-leaderboard/shared/components/table/table.html +0 -11
- package/src/components/sf-leaderboard/shared/components/table/table.scss +0 -212
- package/src/components/sf-leaderboard/shared/components/table/table.ts +0 -111
- package/src/components/sf-leaderboard/shared/constants/defaults.ts +0 -7
- package/src/components/sf-leaderboard/shared/constants/filters.ts +0 -16
- package/src/components/sf-leaderboard/shared/constants/index.ts +0 -5
- package/src/components/sf-leaderboard/shared/constants/player-stats.ts +0 -3
- package/src/components/sf-leaderboard/shared/constants/stats-overview.ts +0 -38
- package/src/components/sf-leaderboard/shared/constants/tags.ts +0 -16
- package/src/components/sf-leaderboard/shared/styles/_section.scss +0 -35
- package/src/components/sf-leaderboard/shared/types/data.ts +0 -29
- package/src/components/sf-leaderboard/shared/types/events.ts +0 -30
- package/src/components/sf-leaderboard/shared/types/player-stats.ts +0 -3
- package/src/components/sf-leaderboard/shared/types/sections.ts +0 -100
- package/src/components/sf-leaderboard/shared/utils/utils.ts +0 -17
- package/src/components/sf-leaderboard/theme/THEMING.md +0 -54
- package/src/components/sf-leaderboard/theme/context.ts +0 -16
- package/src/components/sf-leaderboard/theme/default-theme.ts +0 -4
- package/src/components/sf-leaderboard/theme/hex-to-rgb.ts +0 -25
- package/src/components/sf-leaderboard/theme/index.ts +0 -18
- package/src/components/sf-leaderboard/theme/inject-theme.ts +0 -39
- package/src/components/sf-leaderboard/theme/load-theme.ts +0 -26
- package/src/components/sf-leaderboard/theme/merge-theme.ts +0 -59
- package/src/components/sf-leaderboard/theme/scss/_colors.scss +0 -101
- package/src/components/sf-leaderboard/theme/scss/shared.scss +0 -123
- package/src/components/sf-leaderboard/theme/styles.ts +0 -6
- package/src/components/sf-leaderboard/theme/theme-to-css-vars.ts +0 -99
- package/src/components/sf-leaderboard/theme/themes/fallback.json +0 -62
- package/src/components/sf-leaderboard/theme/themes/red.json +0 -62
- package/src/components/sf-leaderboard/theme/types.ts +0 -71
- package/src/components/sf-live-feed/components/avatar/avatar.host.ts +0 -5
- package/src/components/sf-live-feed/components/avatar/avatar.html +0 -3
- package/src/components/sf-live-feed/components/avatar/avatar.scss +0 -24
- package/src/components/sf-live-feed/components/avatar/avatar.ts +0 -27
- package/src/components/sf-live-feed/components/sf-live-feed/sf-live-feed.host.ts +0 -8
- package/src/components/sf-live-feed/components/sf-live-feed/sf-live-feed.html +0 -10
- package/src/components/sf-live-feed/components/sf-live-feed/sf-live-feed.scss +0 -177
- package/src/components/sf-live-feed/components/sf-live-feed/sf-live-feed.ts +0 -65
- package/src/components/sf-live-feed/constants.ts +0 -4
- package/src/components/sf-live-feed/demo/sample-data.ts +0 -34
- package/src/components/sf-live-feed/index.ts +0 -19
- package/src/components/sf-live-feed/styles/theme.scss +0 -19
- package/src/components/sf-live-feed/styles/theme.ts +0 -5
- package/src/components/sf-live-feed/types.ts +0 -19
- package/src/components/sf-live-feed/utils.ts +0 -17
- package/src/components/streaks/constants.ts +0 -17
- package/src/components/streaks/demo/sample-steps.ts +0 -10
- package/src/components/streaks/events.ts +0 -8
- package/src/components/streaks/index.ts +0 -16
- package/src/components/streaks/sf-streaks.html +0 -26
- package/src/components/streaks/sf-streaks.scss +0 -351
- package/src/components/streaks/sf-streaks.ts +0 -235
- package/src/components/streaks/types.ts +0 -7
- package/src/lib/lit/component.ts +0 -10
- package/src/lib/lit/safe-custom-element.ts +0 -12
- package/src/lib/lit/scss.ts +0 -6
- package/src/vite-env.d.ts +0 -18
- package/styles/global.css +0 -125
- package/todo.txt +0 -54
- package/tsconfig.json +0 -31
- package/vite.config.ts +0 -56
- package/vite.docs.config.ts +0 -33
- package/vite.lit-html-plugin.ts +0 -43
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain types for the casino leaderboard splash.
|
|
3
|
+
* Source: ai-context/casino-leaderboard-real/domain.md
|
|
4
|
+
*/
|
|
5
|
+
export type LabelType = 'CORE_GAME' | 'ON_DEMAND' | 'COMPETITOR';
|
|
6
|
+
export interface LabelValue {
|
|
7
|
+
value: string;
|
|
8
|
+
language: string;
|
|
9
|
+
}
|
|
10
|
+
/** Localized content container. */
|
|
11
|
+
export interface LabelKey {
|
|
12
|
+
uuid?: string;
|
|
13
|
+
key?: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
hint?: string;
|
|
16
|
+
values: LabelValue[];
|
|
17
|
+
labelType: LabelType;
|
|
18
|
+
enValue?: string;
|
|
19
|
+
}
|
|
20
|
+
/** Resolve display text from a LabelKey (or pass plain strings through). */
|
|
21
|
+
export declare function labelText(label: LabelKey | string | undefined): string;
|
|
22
|
+
export type AssetType = 'GAME' | 'REPORT' | 'FONT' | 'CLIENT' | 'AUDIO';
|
|
23
|
+
export type SportType = string;
|
|
24
|
+
/** Campaign visual asset. */
|
|
25
|
+
export interface Asset {
|
|
26
|
+
uuid: string;
|
|
27
|
+
createdTs: string;
|
|
28
|
+
name: string;
|
|
29
|
+
label: string;
|
|
30
|
+
comment: string;
|
|
31
|
+
url: string;
|
|
32
|
+
tags: string[];
|
|
33
|
+
type: AssetType;
|
|
34
|
+
sportType: SportType;
|
|
35
|
+
}
|
|
36
|
+
export type PointsStrategy = 'DEFAULT';
|
|
37
|
+
export type PrizeAllocationStrategy = 'BEST_PRIZE' | 'SPLIT_PRIZE';
|
|
38
|
+
export interface QuizPrize {
|
|
39
|
+
uuid: string;
|
|
40
|
+
/** Display label; may be transformed client-side. */
|
|
41
|
+
label: LabelKey | string;
|
|
42
|
+
/** Monetary value when applicable. */
|
|
43
|
+
value?: number;
|
|
44
|
+
currency?: string;
|
|
45
|
+
/** Inclusive rank range this prize covers. */
|
|
46
|
+
rankFrom: number;
|
|
47
|
+
rankTo: number;
|
|
48
|
+
iconUrl?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface QuizPrizePackage {
|
|
51
|
+
uuid: string;
|
|
52
|
+
name?: string;
|
|
53
|
+
prizes: QuizPrize[];
|
|
54
|
+
}
|
|
55
|
+
/** Shared metadata for all leaderboard campaigns. */
|
|
56
|
+
export interface LeaderboardBase {
|
|
57
|
+
uuid: string;
|
|
58
|
+
name: LabelKey;
|
|
59
|
+
infoText: LabelKey;
|
|
60
|
+
createdTs: string;
|
|
61
|
+
updatedTs: string;
|
|
62
|
+
endTs: string;
|
|
63
|
+
pointsStrategyType: PointsStrategy;
|
|
64
|
+
prizeAllocationStrategy: PrizeAllocationStrategy;
|
|
65
|
+
bannerAsset: Asset;
|
|
66
|
+
finished: boolean;
|
|
67
|
+
deleted: boolean;
|
|
68
|
+
}
|
|
69
|
+
/** Leaderboard campaign entity. */
|
|
70
|
+
export interface QuizLeaderboard extends LeaderboardBase {
|
|
71
|
+
prizePackage: QuizPrizePackage;
|
|
72
|
+
}
|
|
73
|
+
/** Represents a leaderboard position. */
|
|
74
|
+
export interface UserRank {
|
|
75
|
+
username: string;
|
|
76
|
+
rank: number;
|
|
77
|
+
points: number;
|
|
78
|
+
/** Total wager volume in the active window (money spent). */
|
|
79
|
+
totalBet?: number;
|
|
80
|
+
prize: QuizPrize | null;
|
|
81
|
+
splitCount: number;
|
|
82
|
+
/** Current user flag. */
|
|
83
|
+
you: boolean;
|
|
84
|
+
/** VIP player — shows gold badge across the layout. */
|
|
85
|
+
vip?: boolean;
|
|
86
|
+
showBorder?: boolean;
|
|
87
|
+
/** Rank at the previous snapshot — used to render ▲/▼ trend. */
|
|
88
|
+
previousRank?: number;
|
|
89
|
+
/** Win rate as an integer percentage, e.g. 68 = 68%. */
|
|
90
|
+
winRate?: number;
|
|
91
|
+
/** Number of qualifying games played in the active window. */
|
|
92
|
+
gamesPlayed?: number;
|
|
93
|
+
}
|
|
94
|
+
export type LeaderboardStatus = 'upcoming' | 'active' | 'completed' | 'cancelled';
|
|
95
|
+
export interface LeaderboardStatistics {
|
|
96
|
+
totalParticipants: number;
|
|
97
|
+
totalPoints?: number;
|
|
98
|
+
averagePoints?: number;
|
|
99
|
+
highestScore?: number;
|
|
100
|
+
prizesAwarded?: number;
|
|
101
|
+
}
|
|
102
|
+
export interface LeaderboardCountdown {
|
|
103
|
+
endTs: string;
|
|
104
|
+
remainingSeconds: number;
|
|
105
|
+
expired: boolean;
|
|
106
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sources":["../../../../src/components/os-leaderboard-casino/types/data.ts"],"sourcesContent":["/**\n * Domain types for the casino leaderboard splash.\n * Source: ai-context/casino-leaderboard-real/domain.md\n */\n\n/* ── Shared content models ── */\n\nexport type LabelType = 'CORE_GAME' | 'ON_DEMAND' | 'COMPETITOR';\n\nexport interface LabelValue {\n value: string;\n language: string;\n}\n\n/** Localized content container. */\nexport interface LabelKey {\n uuid?: string;\n key?: string;\n description?: string;\n hint?: string;\n values: LabelValue[];\n labelType: LabelType;\n enValue?: string;\n}\n\n/** Resolve display text from a LabelKey (or pass plain strings through). */\nexport function labelText(label: LabelKey | string | undefined): string {\n if (label == null) return '';\n if (typeof label === 'string') return label;\n return label.enValue ?? label.values[0]?.value ?? label.key ?? '';\n}\n\n/* ── Asset models ── */\n\nexport type AssetType = 'GAME' | 'REPORT' | 'FONT' | 'CLIENT' | 'AUDIO';\n\nexport type SportType = string;\n\n/** Campaign visual asset. */\nexport interface Asset {\n uuid: string;\n createdTs: string;\n name: string;\n label: string;\n comment: string;\n url: string;\n tags: string[];\n type: AssetType;\n sportType: SportType;\n}\n\n/* ── Strategy types ── */\n\nexport type PointsStrategy = 'DEFAULT';\n\nexport type PrizeAllocationStrategy = 'BEST_PRIZE' | 'SPLIT_PRIZE';\n\n/* ── Prize models (predicted — backend definitions are source of truth) ── */\n\nexport interface QuizPrize {\n uuid: string;\n /** Display label; may be transformed client-side. */\n label: LabelKey | string;\n /** Monetary value when applicable. */\n value?: number;\n currency?: string;\n /** Inclusive rank range this prize covers. */\n rankFrom: number;\n rankTo: number;\n iconUrl?: string;\n}\n\nexport interface QuizPrizePackage {\n uuid: string;\n name?: string;\n prizes: QuizPrize[];\n}\n\n/* ── Leaderboard entities ── */\n\n/** Shared metadata for all leaderboard campaigns. */\nexport interface LeaderboardBase {\n uuid: string;\n name: LabelKey;\n infoText: LabelKey;\n createdTs: string;\n updatedTs: string;\n endTs: string;\n pointsStrategyType: PointsStrategy;\n prizeAllocationStrategy: PrizeAllocationStrategy;\n bannerAsset: Asset;\n finished: boolean;\n deleted: boolean;\n}\n\n/** Leaderboard campaign entity. */\nexport interface QuizLeaderboard extends LeaderboardBase {\n prizePackage: QuizPrizePackage;\n}\n\n/** Represents a leaderboard position. */\nexport interface UserRank {\n username: string;\n rank: number;\n points: number;\n /** Total wager volume in the active window (money spent). */\n totalBet?: number;\n prize: QuizPrize | null;\n splitCount: number;\n /** Current user flag. */\n you: boolean;\n /** VIP player — shows gold badge across the layout. */\n vip?: boolean;\n showBorder?: boolean;\n /** Rank at the previous snapshot — used to render ▲/▼ trend. */\n previousRank?: number;\n /** Win rate as an integer percentage, e.g. 68 = 68%. */\n winRate?: number;\n /** Number of qualifying games played in the active window. */\n gamesPlayed?: number;\n}\n\n/* ── Predicted / extended types ── */\n\nexport type LeaderboardStatus = 'upcoming' | 'active' | 'completed' | 'cancelled';\n\nexport interface LeaderboardStatistics {\n totalParticipants: number;\n totalPoints?: number;\n averagePoints?: number;\n highestScore?: number;\n prizesAwarded?: number;\n}\n\nexport interface LeaderboardCountdown {\n endTs: string;\n remainingSeconds: number;\n expired: boolean;\n}\n"],"names":["labelText","label"],"mappings":"AA0BO,SAASA,EAAUC,GAA8C;AACtE,SAAIA,KAAS,OAAa,KACtB,OAAOA,KAAU,WAAiBA,IAC/BA,EAAM,WAAWA,EAAM,OAAO,CAAC,GAAG,SAASA,EAAM,OAAO;AACjE;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { QuizPrize } from './data.js';
|
|
2
|
+
/** Client events emitted by `<os-leaderboard-casino>` (bubbling, composed). */
|
|
3
|
+
export declare const OS_LEADERBOARD_CASINO_OPEN = "leaderboard-open";
|
|
4
|
+
export declare const OS_LEADERBOARD_CASINO_SEARCH_CHANGE = "search-change";
|
|
5
|
+
export declare const OS_LEADERBOARD_CASINO_REFRESH = "refresh";
|
|
6
|
+
export declare const OS_LEADERBOARD_CASINO_PRIZE_CLICK = "prize-click";
|
|
7
|
+
export interface OsLeaderboardCasinoOpenDetail {
|
|
8
|
+
uuid: string;
|
|
9
|
+
}
|
|
10
|
+
export interface OsLeaderboardCasinoSearchChangeDetail {
|
|
11
|
+
query: string;
|
|
12
|
+
}
|
|
13
|
+
export interface OsLeaderboardCasinoRefreshDetail {
|
|
14
|
+
uuid: string;
|
|
15
|
+
}
|
|
16
|
+
export interface OsLeaderboardCasinoPrizeClickDetail {
|
|
17
|
+
prize: QuizPrize;
|
|
18
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const A = "leaderboard-open", E = "search-change", _ = "refresh", O = "prize-click";
|
|
2
|
+
export {
|
|
3
|
+
A as OS_LEADERBOARD_CASINO_OPEN,
|
|
4
|
+
O as OS_LEADERBOARD_CASINO_PRIZE_CLICK,
|
|
5
|
+
_ as OS_LEADERBOARD_CASINO_REFRESH,
|
|
6
|
+
E as OS_LEADERBOARD_CASINO_SEARCH_CHANGE
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sources":["../../../../src/components/os-leaderboard-casino/types/events.ts"],"sourcesContent":["import type { QuizPrize } from './data.js';\n\n/** Client events emitted by `<os-leaderboard-casino>` (bubbling, composed). */\nexport const OS_LEADERBOARD_CASINO_OPEN = 'leaderboard-open';\nexport const OS_LEADERBOARD_CASINO_SEARCH_CHANGE = 'search-change';\nexport const OS_LEADERBOARD_CASINO_REFRESH = 'refresh';\nexport const OS_LEADERBOARD_CASINO_PRIZE_CLICK = 'prize-click';\n\nexport interface OsLeaderboardCasinoOpenDetail {\n uuid: string;\n}\n\nexport interface OsLeaderboardCasinoSearchChangeDetail {\n query: string;\n}\n\nexport interface OsLeaderboardCasinoRefreshDetail {\n uuid: string;\n}\n\nexport interface OsLeaderboardCasinoPrizeClickDetail {\n prize: QuizPrize;\n}\n"],"names":["OS_LEADERBOARD_CASINO_OPEN","OS_LEADERBOARD_CASINO_SEARCH_CHANGE","OS_LEADERBOARD_CASINO_REFRESH","OS_LEADERBOARD_CASINO_PRIZE_CLICK"],"mappings":"AAGO,MAAMA,IAA6B,oBAC7BC,IAAsC,iBACtCC,IAAgC,WAChCC,IAAoC;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TemplateResult } from 'lit';
|
|
2
|
+
export type PrizeIconName = 'prize.grand-jackpot' | 'prize.elite-bonus' | 'prize.high-roller' | 'prize.free-spins' | 'prize.casino-credits' | 'prize.mystery-bonus' | 'prize.default';
|
|
3
|
+
export type GameIconName = 'game.cards' | 'game.chips' | 'game.dice' | 'game.gates-of-olympus' | 'game.roulette' | 'game.slot-machine';
|
|
4
|
+
export type WinIconName = 'win.bag' | 'win.coin' | 'win.trophy' | 'win.fire' | 'win.gem' | 'win.bolt';
|
|
5
|
+
export type StatIconName = 'stat.users' | 'stat.gift' | 'stat.clock';
|
|
6
|
+
export type VipIconName = 'vip.crown';
|
|
7
|
+
export type IconName = PrizeIconName | GameIconName | WinIconName | StatIconName | VipIconName;
|
|
8
|
+
export interface IconRenderOptions {
|
|
9
|
+
className?: string;
|
|
10
|
+
alt?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface IconHandle {
|
|
13
|
+
name: IconName;
|
|
14
|
+
kind: 'svg' | 'image';
|
|
15
|
+
url?: string;
|
|
16
|
+
svg(): TemplateResult;
|
|
17
|
+
render(options?: IconRenderOptions): TemplateResult;
|
|
18
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Free-tier public integration API.
|
|
3
|
+
* Layout is fixed on the golden preset — customize theme colors, copy, and data only.
|
|
4
|
+
*/
|
|
5
|
+
/** Built-in full glam layout shipped with @oddsmith/ui. */
|
|
6
|
+
export type LeaderboardCasinoPresetId = 'golden';
|
|
7
|
+
/** Copy + palette overrides (theme + labels only on free tier). */
|
|
8
|
+
export interface LeaderboardCasinoBranding {
|
|
9
|
+
themeId?: string;
|
|
10
|
+
labels?: Partial<LeaderboardCasinoLabels>;
|
|
11
|
+
/** CSS custom properties applied on the host element. */
|
|
12
|
+
themeVars?: Record<string, string>;
|
|
13
|
+
}
|
|
14
|
+
export interface LeaderboardCasinoLabels {
|
|
15
|
+
back?: string;
|
|
16
|
+
live?: string;
|
|
17
|
+
cta?: string;
|
|
18
|
+
}
|
|
19
|
+
/** Live campaign fields your backend already has. Everything else is optional. */
|
|
20
|
+
export interface LeaderboardCasinoCampaign {
|
|
21
|
+
uuid?: string;
|
|
22
|
+
title?: string;
|
|
23
|
+
description?: string;
|
|
24
|
+
/** ISO string or epoch ms */
|
|
25
|
+
endAt?: string | number;
|
|
26
|
+
finished?: boolean;
|
|
27
|
+
prizePool?: {
|
|
28
|
+
value: number;
|
|
29
|
+
currency?: string;
|
|
30
|
+
};
|
|
31
|
+
participantCount?: number;
|
|
32
|
+
footerText?: string;
|
|
33
|
+
}
|
|
34
|
+
/** Normalized player row — maps to glam preview table internally. */
|
|
35
|
+
export interface LeaderboardCasinoPlayer {
|
|
36
|
+
id?: string;
|
|
37
|
+
username: string;
|
|
38
|
+
rank: number;
|
|
39
|
+
points?: number;
|
|
40
|
+
winnings?: number;
|
|
41
|
+
isCurrentUser?: boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Primary integration shape for the free npm package.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* board.input = {
|
|
49
|
+
* branding: { themeId: 'glam-emerald', labels: { cta: 'Play now' } },
|
|
50
|
+
* campaign: {
|
|
51
|
+
* uuid: api.id,
|
|
52
|
+
* title: api.name,
|
|
53
|
+
* endAt: api.endsAt,
|
|
54
|
+
* prizePool: { value: api.pool, currency: 'USD' },
|
|
55
|
+
* },
|
|
56
|
+
* players: api.leaderboard,
|
|
57
|
+
* };
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export interface LeaderboardCasinoInput {
|
|
61
|
+
/** Defaults to `golden` — the only free-tier layout. */
|
|
62
|
+
preset?: LeaderboardCasinoPresetId;
|
|
63
|
+
branding?: LeaderboardCasinoBranding;
|
|
64
|
+
campaign?: LeaderboardCasinoCampaign;
|
|
65
|
+
players?: LeaderboardCasinoPlayer[];
|
|
66
|
+
}
|
|
67
|
+
export interface LeaderboardCasinoPresetMeta {
|
|
68
|
+
id: LeaderboardCasinoPresetId;
|
|
69
|
+
label: string;
|
|
70
|
+
description: string;
|
|
71
|
+
appearance: 'glam' | 'new-money';
|
|
72
|
+
defaultThemeId: string;
|
|
73
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/** Ledger/table player shape used by integration input mapping. */
|
|
2
|
+
export type AccentTone = 'mint' | 'gold' | 'violet' | 'rose' | 'cyan';
|
|
3
|
+
export interface Player {
|
|
4
|
+
id: string;
|
|
5
|
+
username: string;
|
|
6
|
+
avatar?: string;
|
|
7
|
+
rank: number;
|
|
8
|
+
previousRank?: number;
|
|
9
|
+
totalWinnings: number;
|
|
10
|
+
scoreLabel?: string;
|
|
11
|
+
prize?: number;
|
|
12
|
+
mostPlayed?: string;
|
|
13
|
+
points?: number;
|
|
14
|
+
totalBet?: number;
|
|
15
|
+
winRate: number;
|
|
16
|
+
gamesPlayed: number;
|
|
17
|
+
streak: number;
|
|
18
|
+
level: number;
|
|
19
|
+
badges: string[];
|
|
20
|
+
isOnline?: boolean;
|
|
21
|
+
favoriteGame?: string;
|
|
22
|
+
biggestWin?: number;
|
|
23
|
+
/** Legacy mock field — not used by glam integration input. */
|
|
24
|
+
vipTier?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface PreviewPlayer {
|
|
27
|
+
username: string;
|
|
28
|
+
rank: number;
|
|
29
|
+
points: number;
|
|
30
|
+
prizeLabel?: string;
|
|
31
|
+
prizeValue?: number;
|
|
32
|
+
isYou?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export type FeedType = 'win' | 'join' | 'rank-up' | 'prize-drop';
|
|
35
|
+
export interface FeedItem {
|
|
36
|
+
id: string;
|
|
37
|
+
type: FeedType;
|
|
38
|
+
username: string;
|
|
39
|
+
message: string;
|
|
40
|
+
amount?: number;
|
|
41
|
+
currency?: string;
|
|
42
|
+
timestamp: string;
|
|
43
|
+
}
|
|
44
|
+
export interface MarqueeItem {
|
|
45
|
+
id: string;
|
|
46
|
+
icon?: string;
|
|
47
|
+
text: string;
|
|
48
|
+
amount?: number;
|
|
49
|
+
currency?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface EventItem {
|
|
52
|
+
id: string;
|
|
53
|
+
icon?: string;
|
|
54
|
+
title: string;
|
|
55
|
+
subtitle?: string;
|
|
56
|
+
accent?: AccentTone;
|
|
57
|
+
}
|
|
58
|
+
export interface PrizeTier {
|
|
59
|
+
id: string;
|
|
60
|
+
label: string;
|
|
61
|
+
value: number;
|
|
62
|
+
currency?: string;
|
|
63
|
+
rankFrom: number;
|
|
64
|
+
rankTo: number;
|
|
65
|
+
}
|
|
66
|
+
export type TimeFrame = 'today' | 'week' | 'month' | 'all';
|
|
67
|
+
export type Category = 'all' | 'slots' | 'hybrid' | 'tables' | 'video-poker' | 'keno' | 'arcade' | 'blackjack' | 'roulette' | 'poker' | 'baccarat' | 'live';
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { Player } from './ledger.js';
|
|
2
|
+
import { Asset, LeaderboardStatus, PrizeAllocationStrategy, QuizPrize, QuizPrizePackage, UserRank } from './data.js';
|
|
3
|
+
/** Section ids, in render order. */
|
|
4
|
+
export type OsLeaderboardCasinoSectionId = 'marquee' | 'header' | 'events-banner' | 'hero' | 'prize' | 'stats' | 'games' | 'live-feed' | 'climb' | 'table' | 'footer' | 'legals';
|
|
5
|
+
/** Top bar: campaign branding. Omit `header` to hide. */
|
|
6
|
+
export interface OsLeaderboardCasinoHeaderSection {
|
|
7
|
+
title: string;
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
backButton?: {
|
|
10
|
+
label?: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/** Accent palette for promotional event cards. */
|
|
14
|
+
export type OsLeaderboardCasinoEventAccent = 'gold' | 'violet' | 'green' | 'red';
|
|
15
|
+
/** One rotating promotional event. */
|
|
16
|
+
export interface OsLeaderboardCasinoEventItem {
|
|
17
|
+
id: string;
|
|
18
|
+
icon?: string;
|
|
19
|
+
title: string;
|
|
20
|
+
subtitle?: string;
|
|
21
|
+
accent?: OsLeaderboardCasinoEventAccent;
|
|
22
|
+
}
|
|
23
|
+
/** Auto-rotating events banner. Omit to hide. */
|
|
24
|
+
export interface OsLeaderboardCasinoEventsSection {
|
|
25
|
+
events: OsLeaderboardCasinoEventItem[];
|
|
26
|
+
/** Rotation interval; defaults to 4500ms. */
|
|
27
|
+
rotateMs?: number;
|
|
28
|
+
}
|
|
29
|
+
/** Live activity feed entry. */
|
|
30
|
+
export type OsLeaderboardCasinoFeedType = 'win' | 'join' | 'rank-up' | 'prize-drop';
|
|
31
|
+
export interface OsLeaderboardCasinoFeedItem {
|
|
32
|
+
id: string;
|
|
33
|
+
type: OsLeaderboardCasinoFeedType;
|
|
34
|
+
username: string;
|
|
35
|
+
message: string;
|
|
36
|
+
amount?: number;
|
|
37
|
+
currency?: string;
|
|
38
|
+
timestamp: string;
|
|
39
|
+
vip?: boolean;
|
|
40
|
+
}
|
|
41
|
+
/** Live activity rail. Omit to hide. */
|
|
42
|
+
export interface OsLeaderboardCasinoLiveFeedSection {
|
|
43
|
+
title?: string;
|
|
44
|
+
items: OsLeaderboardCasinoFeedItem[];
|
|
45
|
+
/** Max entries rendered; defaults to 8. */
|
|
46
|
+
maxVisible?: number;
|
|
47
|
+
}
|
|
48
|
+
/** One entry in the scrolling winners marquee. */
|
|
49
|
+
export interface OsLeaderboardCasinoMarqueeItem {
|
|
50
|
+
id: string;
|
|
51
|
+
/** Game ID matching the games section — resolves the same PNG icon. */
|
|
52
|
+
gameId?: string;
|
|
53
|
+
icon?: string;
|
|
54
|
+
text: string;
|
|
55
|
+
amount?: number;
|
|
56
|
+
currency?: string;
|
|
57
|
+
vip?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/** Infinitely-scrolling winners ticker at the very top. Omit to hide. */
|
|
60
|
+
export interface OsLeaderboardCasinoMarqueeSection {
|
|
61
|
+
items: OsLeaderboardCasinoMarqueeItem[];
|
|
62
|
+
/** Seconds for one full loop; defaults to 30. */
|
|
63
|
+
speedSec?: number;
|
|
64
|
+
}
|
|
65
|
+
/** Current user's progress towards the next prize tier. Omit to hide. */
|
|
66
|
+
export interface OsLeaderboardCasinoClimbSection {
|
|
67
|
+
title?: string;
|
|
68
|
+
username: string;
|
|
69
|
+
rank: number;
|
|
70
|
+
points: number;
|
|
71
|
+
vip?: boolean;
|
|
72
|
+
/** Rank that unlocks the next prize tier, e.g. 10. */
|
|
73
|
+
nextTierRank: number;
|
|
74
|
+
/** Prize label of the next tier, e.g. "Free Spins ×10". */
|
|
75
|
+
nextTierLabel: string;
|
|
76
|
+
/** Points still needed to reach the next tier. */
|
|
77
|
+
pointsToNextTier: number;
|
|
78
|
+
/** Progress towards the next tier, 0–1. */
|
|
79
|
+
progress: number;
|
|
80
|
+
/** Rank places gained (+) or lost (−) today. */
|
|
81
|
+
trend?: number;
|
|
82
|
+
}
|
|
83
|
+
/** One qualifying game tile. */
|
|
84
|
+
export interface OsLeaderboardCasinoGameItem {
|
|
85
|
+
id: string;
|
|
86
|
+
title: string;
|
|
87
|
+
emoji?: string;
|
|
88
|
+
imageUrl?: string;
|
|
89
|
+
provider?: string;
|
|
90
|
+
/** Boost badge, e.g. "2× points". */
|
|
91
|
+
boost?: string;
|
|
92
|
+
accent?: OsLeaderboardCasinoEventAccent;
|
|
93
|
+
/** Display heat score, e.g. "100.0". Derived when omitted. */
|
|
94
|
+
heatScore?: number | string;
|
|
95
|
+
/** Players tracked, e.g. "25K". Derived when omitted. */
|
|
96
|
+
tracked?: string;
|
|
97
|
+
/** Largest win multiplier, e.g. "80,085x". Derived when omitted. */
|
|
98
|
+
maxHit?: string;
|
|
99
|
+
}
|
|
100
|
+
/** Horizontal strip of games that earn leaderboard points. Omit to hide. */
|
|
101
|
+
export interface OsLeaderboardCasinoGamesSection {
|
|
102
|
+
title?: string;
|
|
103
|
+
games: OsLeaderboardCasinoGameItem[];
|
|
104
|
+
}
|
|
105
|
+
/** Banner, contest name/description, end date, status. */
|
|
106
|
+
export interface OsLeaderboardCasinoHeroSection {
|
|
107
|
+
bannerAsset?: Asset;
|
|
108
|
+
title: string;
|
|
109
|
+
description?: string;
|
|
110
|
+
endTs?: string;
|
|
111
|
+
status?: LeaderboardStatus;
|
|
112
|
+
/** Headline figure, e.g. total prize pool ("$18,100"). */
|
|
113
|
+
prizePool?: string;
|
|
114
|
+
prizePoolLabel?: string;
|
|
115
|
+
/**
|
|
116
|
+
* Numeric prize pool. When set, takes precedence over `prizePool` and
|
|
117
|
+
* value changes animate with a rolling odometer count-up.
|
|
118
|
+
*/
|
|
119
|
+
prizePoolValue?: number;
|
|
120
|
+
prizePoolCurrency?: string;
|
|
121
|
+
}
|
|
122
|
+
/** Prize package + allocation strategy. */
|
|
123
|
+
export interface OsLeaderboardCasinoPrizeSection {
|
|
124
|
+
title?: string;
|
|
125
|
+
prizePackage?: QuizPrizePackage;
|
|
126
|
+
allocationStrategy?: PrizeAllocationStrategy;
|
|
127
|
+
}
|
|
128
|
+
/** Participation statistics. */
|
|
129
|
+
export interface OsLeaderboardCasinoStatsSection {
|
|
130
|
+
totalParticipants: number;
|
|
131
|
+
totalPrizes?: number;
|
|
132
|
+
biggestWin?: number;
|
|
133
|
+
biggestWinCurrency?: string;
|
|
134
|
+
}
|
|
135
|
+
/** Top players preview + optional pinned current user. */
|
|
136
|
+
export interface OsLeaderboardCasinoTableView {
|
|
137
|
+
topPlayers: UserRank[];
|
|
138
|
+
currentUser?: UserRank | Player;
|
|
139
|
+
/** CTA into the rankings view; defaults provided. */
|
|
140
|
+
ctaLabel?: string;
|
|
141
|
+
/** Prize tiers — used to resolve row prizes by rank (matches prize section). */
|
|
142
|
+
prizes?: QuizPrize[];
|
|
143
|
+
}
|
|
144
|
+
export type OsLeaderboardCasinoLegalLinkType = 'external' | 'internal';
|
|
145
|
+
export interface OsLeaderboardCasinoLegalLink {
|
|
146
|
+
label: string;
|
|
147
|
+
type: OsLeaderboardCasinoLegalLinkType;
|
|
148
|
+
/** URL for external links. Defaults to https://www.google.com. */
|
|
149
|
+
href?: string;
|
|
150
|
+
/** Body text for the popup dialog when type is 'internal'. Falls back to a default notice. */
|
|
151
|
+
content?: string;
|
|
152
|
+
}
|
|
153
|
+
/** Legal links strip — rules, FAQ, T&Cs. External links open in a new tab; internal links show a popup. */
|
|
154
|
+
export interface OsLeaderboardCasinoLegalsSection {
|
|
155
|
+
links: OsLeaderboardCasinoLegalLink[];
|
|
156
|
+
}
|
|
157
|
+
/** Page footer — plain text attribution only. */
|
|
158
|
+
export interface OsLeaderboardCasinoFooterSection {
|
|
159
|
+
text?: string;
|
|
160
|
+
}
|
|
161
|
+
/** Sections rendered inside the main column (orderable via `mainOrder`). */
|
|
162
|
+
export type OsLeaderboardCasinoMainSectionId = 'prize' | 'stats' | 'games' | 'climb' | 'table';
|
|
163
|
+
/**
|
|
164
|
+
* Layout config for `<os-leaderboard-casino>`.
|
|
165
|
+
* Only keys you pass are rendered, in order:
|
|
166
|
+
* marquee → events-banner → hero → main column (+ live-feed rail) →
|
|
167
|
+
* footer. The main column renders prize → stats → games → climb →
|
|
168
|
+
* table by default; pass `mainOrder` to rearrange it.
|
|
169
|
+
*/
|
|
170
|
+
export interface OsLeaderboardCasinoLayout {
|
|
171
|
+
marquee?: OsLeaderboardCasinoMarqueeSection;
|
|
172
|
+
header?: OsLeaderboardCasinoHeaderSection;
|
|
173
|
+
eventsBanner?: OsLeaderboardCasinoEventsSection;
|
|
174
|
+
hero?: OsLeaderboardCasinoHeroSection;
|
|
175
|
+
prize?: OsLeaderboardCasinoPrizeSection;
|
|
176
|
+
stats?: OsLeaderboardCasinoStatsSection;
|
|
177
|
+
games?: OsLeaderboardCasinoGamesSection;
|
|
178
|
+
liveFeed?: OsLeaderboardCasinoLiveFeedSection;
|
|
179
|
+
climb?: OsLeaderboardCasinoClimbSection;
|
|
180
|
+
table?: OsLeaderboardCasinoTableView;
|
|
181
|
+
footer?: OsLeaderboardCasinoFooterSection;
|
|
182
|
+
legals?: OsLeaderboardCasinoLegalsSection;
|
|
183
|
+
/** Custom order for the main-column sections. */
|
|
184
|
+
mainOrder?: OsLeaderboardCasinoMainSectionId[];
|
|
185
|
+
}
|
|
186
|
+
/** Theme contract (subset honored by the component). */
|
|
187
|
+
export interface OsLeaderboardCasinoTheme {
|
|
188
|
+
id: string;
|
|
189
|
+
name: string;
|
|
190
|
+
labels?: Record<string, string>;
|
|
191
|
+
hero?: {
|
|
192
|
+
bannerHeight?: string;
|
|
193
|
+
};
|
|
194
|
+
prize?: {
|
|
195
|
+
highlightStyle?: string;
|
|
196
|
+
};
|
|
197
|
+
leaderboard?: {
|
|
198
|
+
highlightCurrentUser?: boolean;
|
|
199
|
+
};
|
|
200
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Category, Player, PrizeTier, TimeFrame } from './ledger.js';
|
|
2
|
+
import { PrizeAllocationStrategy, QuizPrizePackage, UserRank } from './data.js';
|
|
3
|
+
import { OsLeaderboardCasinoClimbSection, OsLeaderboardCasinoEventsSection, OsLeaderboardCasinoFooterSection, OsLeaderboardCasinoGameItem, OsLeaderboardCasinoGamesSection, OsLeaderboardCasinoHeroSection as OsLeaderboardCasinoGlamHeroSection, OsLeaderboardCasinoLegalsSection, OsLeaderboardCasinoMarqueeSection, OsLeaderboardCasinoStatsSection } from './sections.js';
|
|
4
|
+
export type OsLeaderboardCasinoAppearance = 'glam';
|
|
5
|
+
export type OsLeaderboardCasinoMainSectionId = 'prize' | 'stats' | 'games' | 'climb' | 'table';
|
|
6
|
+
export type OsLeaderboardCasinoSectionId = 'marquee' | 'events' | 'hero' | OsLeaderboardCasinoMainSectionId | 'footer' | 'legals';
|
|
7
|
+
export interface OsLeaderboardCasinoLabels {
|
|
8
|
+
back?: string;
|
|
9
|
+
live?: string;
|
|
10
|
+
cta?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface OsLeaderboardCasinoHeroSection extends Omit<OsLeaderboardCasinoGlamHeroSection, 'endTs'> {
|
|
13
|
+
endTs?: string | number;
|
|
14
|
+
showCta?: boolean;
|
|
15
|
+
ctaLabel?: string;
|
|
16
|
+
isRefreshing?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface OsLeaderboardCasinoPrizeSection {
|
|
19
|
+
title?: string;
|
|
20
|
+
strategyLabel?: string;
|
|
21
|
+
prizePackage?: QuizPrizePackage;
|
|
22
|
+
allocationStrategy?: PrizeAllocationStrategy;
|
|
23
|
+
tiers?: PrizeTier[];
|
|
24
|
+
}
|
|
25
|
+
export interface OsLeaderboardCasinoTableSection {
|
|
26
|
+
mode: 'preview' | 'ledger';
|
|
27
|
+
title?: string;
|
|
28
|
+
topPlayers?: UserRank[];
|
|
29
|
+
currentUser?: UserRank | Player;
|
|
30
|
+
ctaLabel?: string;
|
|
31
|
+
players?: Player[];
|
|
32
|
+
searchPlaceholder?: string;
|
|
33
|
+
filters?: {
|
|
34
|
+
searchQuery?: string;
|
|
35
|
+
timeframe?: TimeFrame;
|
|
36
|
+
category?: Category;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface OsLeaderboardCasinoSectionData {
|
|
40
|
+
marquee?: OsLeaderboardCasinoMarqueeSection;
|
|
41
|
+
events?: OsLeaderboardCasinoEventsSection;
|
|
42
|
+
hero?: OsLeaderboardCasinoHeroSection;
|
|
43
|
+
prize?: OsLeaderboardCasinoPrizeSection;
|
|
44
|
+
stats?: OsLeaderboardCasinoStatsSection;
|
|
45
|
+
games?: OsLeaderboardCasinoGamesSection & {
|
|
46
|
+
items?: OsLeaderboardCasinoGameItem[];
|
|
47
|
+
};
|
|
48
|
+
climb?: OsLeaderboardCasinoClimbSection;
|
|
49
|
+
table?: OsLeaderboardCasinoTableSection;
|
|
50
|
+
footer?: OsLeaderboardCasinoFooterSection;
|
|
51
|
+
legals?: OsLeaderboardCasinoLegalsSection;
|
|
52
|
+
}
|
|
53
|
+
export interface OsLeaderboardCasinoConfig {
|
|
54
|
+
appearance: OsLeaderboardCasinoAppearance;
|
|
55
|
+
themeId: string;
|
|
56
|
+
labels?: OsLeaderboardCasinoLabels;
|
|
57
|
+
enabled: readonly OsLeaderboardCasinoSectionId[];
|
|
58
|
+
mainOrder?: readonly OsLeaderboardCasinoMainSectionId[];
|
|
59
|
+
/** Palette overrides — CSS custom properties on the host. */
|
|
60
|
+
themeVars?: Record<string, string>;
|
|
61
|
+
}
|
|
62
|
+
export interface OsLeaderboardCasinoState {
|
|
63
|
+
config: OsLeaderboardCasinoConfig;
|
|
64
|
+
sections: OsLeaderboardCasinoSectionData;
|
|
65
|
+
}
|
|
66
|
+
export declare const EMPTY_OS_LEADERBOARD_CASINO_STATE: OsLeaderboardCasinoState;
|
|
67
|
+
export type OsLeaderboardCasinoSectionPatch = {
|
|
68
|
+
[K in keyof OsLeaderboardCasinoSectionData]?: Partial<NonNullable<OsLeaderboardCasinoSectionData[K]>>;
|
|
69
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sources":["../../../../src/components/os-leaderboard-casino/types/state.ts"],"sourcesContent":["import type {\n Category,\n Player,\n PrizeTier,\n TimeFrame,\n} from './ledger.js';\nimport type {\n PrizeAllocationStrategy,\n QuizPrizePackage,\n UserRank,\n} from './data.js';\nimport type {\n OsLeaderboardCasinoClimbSection,\n OsLeaderboardCasinoEventsSection,\n OsLeaderboardCasinoFooterSection,\n OsLeaderboardCasinoGameItem,\n OsLeaderboardCasinoGamesSection,\n OsLeaderboardCasinoHeroSection as OsLeaderboardCasinoGlamHeroSection,\n OsLeaderboardCasinoLegalsSection,\n OsLeaderboardCasinoMarqueeSection,\n OsLeaderboardCasinoStatsSection,\n} from './sections.js';\n\nexport type OsLeaderboardCasinoAppearance = 'glam';\n\nexport type OsLeaderboardCasinoMainSectionId =\n | 'prize'\n | 'stats'\n | 'games'\n | 'climb'\n | 'table';\n\nexport type OsLeaderboardCasinoSectionId =\n | 'marquee'\n | 'events'\n | 'hero'\n | OsLeaderboardCasinoMainSectionId\n | 'footer'\n | 'legals';\n\nexport interface OsLeaderboardCasinoLabels {\n back?: string;\n live?: string;\n cta?: string;\n}\n\nexport interface OsLeaderboardCasinoHeroSection\n extends Omit<OsLeaderboardCasinoGlamHeroSection, 'endTs'> {\n endTs?: string | number;\n showCta?: boolean;\n ctaLabel?: string;\n isRefreshing?: boolean;\n}\n\nexport interface OsLeaderboardCasinoPrizeSection {\n title?: string;\n strategyLabel?: string;\n prizePackage?: QuizPrizePackage;\n allocationStrategy?: PrizeAllocationStrategy;\n tiers?: PrizeTier[];\n}\n\nexport interface OsLeaderboardCasinoTableSection {\n mode: 'preview' | 'ledger';\n title?: string;\n topPlayers?: UserRank[];\n currentUser?: UserRank | Player;\n ctaLabel?: string;\n players?: Player[];\n searchPlaceholder?: string;\n filters?: {\n searchQuery?: string;\n timeframe?: TimeFrame;\n category?: Category;\n };\n}\n\nexport interface OsLeaderboardCasinoSectionData {\n marquee?: OsLeaderboardCasinoMarqueeSection;\n events?: OsLeaderboardCasinoEventsSection;\n hero?: OsLeaderboardCasinoHeroSection;\n prize?: OsLeaderboardCasinoPrizeSection;\n stats?: OsLeaderboardCasinoStatsSection;\n games?: OsLeaderboardCasinoGamesSection & {\n items?: OsLeaderboardCasinoGameItem[];\n };\n climb?: OsLeaderboardCasinoClimbSection;\n table?: OsLeaderboardCasinoTableSection;\n footer?: OsLeaderboardCasinoFooterSection;\n legals?: OsLeaderboardCasinoLegalsSection;\n}\n\nexport interface OsLeaderboardCasinoConfig {\n appearance: OsLeaderboardCasinoAppearance;\n themeId: string;\n labels?: OsLeaderboardCasinoLabels;\n enabled: readonly OsLeaderboardCasinoSectionId[];\n mainOrder?: readonly OsLeaderboardCasinoMainSectionId[];\n /** Palette overrides — CSS custom properties on the host. */\n themeVars?: Record<string, string>;\n}\n\nexport interface OsLeaderboardCasinoState {\n config: OsLeaderboardCasinoConfig;\n sections: OsLeaderboardCasinoSectionData;\n}\n\nexport const EMPTY_OS_LEADERBOARD_CASINO_STATE: OsLeaderboardCasinoState = {\n config: {\n appearance: 'glam',\n themeId: 'glam-default',\n enabled: [],\n },\n sections: {},\n};\n\nexport type OsLeaderboardCasinoSectionPatch = {\n [K in keyof OsLeaderboardCasinoSectionData]?: Partial<\n NonNullable<OsLeaderboardCasinoSectionData[K]>\n >;\n};\n"],"names":["EMPTY_OS_LEADERBOARD_CASINO_STATE"],"mappings":"AA2GO,MAAMA,IAA8D;AAAA,EACzE,QAAQ;AAAA,IACN,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,SAAS,CAAA;AAAA,EAAC;AAAA,EAEZ,UAAU,CAAA;AACZ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../../src/shared/lib/lit/component.ts"],"sourcesContent":["import { customElement } from './safe-custom-element.js';\n\nexport interface ComponentOptions {\n selector: string;\n}\n\n/** Angular-style `@Component` — registers a Lit class as a custom element. */\nexport function Component(options: ComponentOptions) {\n return customElement(options.selector);\n}\n"],"names":["Component","options","customElement"],"mappings":";AAOO,SAASA,EAAUC,GAA2B;AACnD,SAAOC,EAAcD,EAAQ,QAAQ;AACvC;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registers a custom element only if the tag is not already in the registry.
|
|
3
|
+
* Use instead of Lit's `@customElement` when HMR or duplicate bundles are possible.
|
|
4
|
+
*/
|
|
5
|
+
export declare function customElement(tag: string): <T extends CustomElementConstructor>(cls: T) => T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-custom-element.js","sources":["../../../../src/shared/lib/lit/safe-custom-element.ts"],"sourcesContent":["/**\n * Registers a custom element only if the tag is not already in the registry.\n * Use instead of Lit's `@customElement` when HMR or duplicate bundles are possible.\n */\nexport function customElement(tag: string) {\n return <T extends CustomElementConstructor>(cls: T): T => {\n if (!customElements.get(tag)) {\n customElements.define(tag, cls);\n }\n return cls;\n };\n}\n"],"names":["customElement","tag","cls"],"mappings":"AAIO,SAASA,EAAcC,GAAa;AACzC,SAAO,CAAqCC,OACrC,eAAe,IAAID,CAAG,KACzB,eAAe,OAAOA,GAAKC,CAAG,GAEzBA;AAEX;"}
|