@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,61 @@
|
|
|
1
|
+
import { LitElement as m, html as h } from "lit";
|
|
2
|
+
import { property as o } from "lit/decorators.js";
|
|
3
|
+
import { Component as v } from "../../../../../../shared/lib/lit/component.js";
|
|
4
|
+
import { scss as f } from "../../../../../../shared/lib/lit/scss.js";
|
|
5
|
+
import { OS_LEADERBOARD_CASINO_STAT_RAIL as y } from "../../../../constants/tags.js";
|
|
6
|
+
import { osLeaderboardCasinoTheme as u } from "../../../../theme/styles.js";
|
|
7
|
+
import "lit/directives/unsafe-svg.js";
|
|
8
|
+
import { statIcons as n } from "../stat-icons.js";
|
|
9
|
+
import d from "./stat-rail.scss.js";
|
|
10
|
+
var g = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, e = (s, i, l, p) => {
|
|
11
|
+
for (var r = p > 1 ? void 0 : p ? _(i, l) : i, a = s.length - 1, c; a >= 0; a--)
|
|
12
|
+
(c = s[a]) && (r = (p ? c(i, l, r) : c(r)) || r);
|
|
13
|
+
return p && r && g(i, l, r), r;
|
|
14
|
+
};
|
|
15
|
+
let t = class extends m {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments), this.accent = "participants", this.icon = "users", this.value = "", this.label = "", this.segment = "solo", this.compact = !1, this.highlight = !1;
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
const s = n[this.icon] ?? n.users;
|
|
21
|
+
return h`
|
|
22
|
+
<div class="rail">
|
|
23
|
+
<div class="icon-well">${s()}</div>
|
|
24
|
+
<div class="copy">
|
|
25
|
+
<div class="label">${this.label}</div>
|
|
26
|
+
<div class="value">${this.value}</div>
|
|
27
|
+
</div>
|
|
28
|
+
<span class="shimmer" aria-hidden="true"></span>
|
|
29
|
+
</div>
|
|
30
|
+
`;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
t.styles = [u, f(d)];
|
|
34
|
+
e([
|
|
35
|
+
o({ type: String, reflect: !0 })
|
|
36
|
+
], t.prototype, "accent", 2);
|
|
37
|
+
e([
|
|
38
|
+
o({ type: String })
|
|
39
|
+
], t.prototype, "icon", 2);
|
|
40
|
+
e([
|
|
41
|
+
o({ type: String })
|
|
42
|
+
], t.prototype, "value", 2);
|
|
43
|
+
e([
|
|
44
|
+
o({ type: String })
|
|
45
|
+
], t.prototype, "label", 2);
|
|
46
|
+
e([
|
|
47
|
+
o({ type: String, reflect: !0 })
|
|
48
|
+
], t.prototype, "segment", 2);
|
|
49
|
+
e([
|
|
50
|
+
o({ type: Boolean, reflect: !0 })
|
|
51
|
+
], t.prototype, "compact", 2);
|
|
52
|
+
e([
|
|
53
|
+
o({ type: Boolean, reflect: !0 })
|
|
54
|
+
], t.prototype, "highlight", 2);
|
|
55
|
+
t = e([
|
|
56
|
+
v({ selector: y })
|
|
57
|
+
], t);
|
|
58
|
+
export {
|
|
59
|
+
t as OsLeaderboardCasinoStatRail
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=stat-rail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stat-rail.js","sources":["../../../../../../../src/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_STAT_RAIL } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport { statIcons } from '../stat-icons.js';\nimport styles from './stat-rail.scss?inline';\n\nexport type StatRailAccent = 'participants' | 'prizes' | 'ends' | 'biggestWin';\nexport type StatRailIcon = keyof typeof statIcons;\nexport type StatRailSegment = 'solo' | 'start' | 'middle' | 'end';\n\n/** Horizontal rail segment — icon well + label/value with accent shimmer. */\n@Component({ selector: OS_LEADERBOARD_CASINO_STAT_RAIL })\nexport class OsLeaderboardCasinoStatRail extends LitElement {\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ type: String, reflect: true })\n accent: StatRailAccent = 'participants';\n\n @property({ type: String })\n icon: StatRailIcon = 'users';\n\n @property({ type: String })\n value = '';\n\n @property({ type: String })\n label = '';\n\n @property({ type: String, reflect: true })\n segment: StatRailSegment = 'solo';\n\n @property({ type: Boolean, reflect: true })\n compact = false;\n\n @property({ type: Boolean, reflect: true })\n highlight = false;\n\n render() {\n const icon = statIcons[this.icon] ?? statIcons.users;\n return html`\n <div class=\"rail\">\n <div class=\"icon-well\">${icon()}</div>\n <div class=\"copy\">\n <div class=\"label\">${this.label}</div>\n <div class=\"value\">${this.value}</div>\n </div>\n <span class=\"shimmer\" aria-hidden=\"true\"></span>\n </div>\n `;\n }\n}\n"],"names":["OsLeaderboardCasinoStatRail","LitElement","icon","statIcons","html","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_STAT_RAIL"],"mappings":";;;;;;;;;;;;;;AAeO,IAAMA,IAAN,cAA0CC,EAAW;AAAA,EAArD,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAA,SAAyB,gBAGzB,KAAA,OAAqB,SAGrB,KAAA,QAAQ,IAGR,KAAA,QAAQ,IAGR,KAAA,UAA2B,QAG3B,KAAA,UAAU,IAGV,KAAA,YAAY;AAAA,EAAA;AAAA,EAEZ,SAAS;AACP,UAAMC,IAAOC,EAAU,KAAK,IAAI,KAAKA,EAAU;AAC/C,WAAOC;AAAA;AAAA,iCAEsBF,GAAM;AAAA;AAAA,+BAER,KAAK,KAAK;AAAA,+BACV,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,EAKvC;AACF;AArCaF,EACJ,SAAS,CAACK,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAH9BT,EAIX,WAAA,UAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GANfT,EAOX,WAAA,QAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GATfT,EAUX,WAAA,SAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAZfT,EAaX,WAAA,SAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAf9BT,EAgBX,WAAA,WAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAlB/BT,EAmBX,WAAA,WAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GArB/BT,EAsBX,WAAA,aAAA,CAAA;AAtBWA,IAANQ,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAAiC;AAAA,GAC3CX,CAAA;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const t = ':host{display:block;flex:1;min-width:0}:host([hidden]){display:none}.rail{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;height:100%;box-sizing:border-box;padding:16px 18px 18px;border:1px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-bg);box-shadow:var(--panel-shadow)}:host([accent=participants]){--rail-accent: var(--green);--icon-bg: var(--green-soft);--icon-color: var(--green)}:host([accent=prizes]){--rail-accent: var(--gold);--icon-bg: var(--gold-soft);--icon-color: var(--gold)}:host([accent=ends]){--rail-accent: var(--violet);--icon-bg: var(--violet-soft);--icon-color: var(--violet)}:host([accent=biggestWin]){--rail-accent: var(--red);--icon-bg: var(--red-soft);--icon-color: var(--red)}.icon-well{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;border-radius:10px;background:var(--icon-bg);border:1px solid color-mix(in srgb,var(--rail-accent) 30%,transparent);color:var(--icon-color);box-shadow:inset 0 1px color-mix(in srgb,white 8%,transparent)}.icon-well svg{width:20px;height:20px}.copy{min-width:0;flex:1}.label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.value{margin-top:6px;font-family:var(--font-mono);font-size:24px;font-weight:800;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}:host([compact]) .value{font-size:15px;line-height:1.25}:host([highlight]) .value{color:var(--gold-strong);text-shadow:0 0 16px color-mix(in srgb,var(--gold) 35%,transparent)}.shimmer{position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--rail-accent),transparent);opacity:.55}.shimmer:after{content:"";position:absolute;inset:0;background:inherit;filter:blur(4px);opacity:.8}.rail:after{content:"";position:absolute;left:-40%;bottom:0;width:35%;height:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--rail-accent) 90%,white),transparent);animation:rail-shimmer 3.2s ease-in-out infinite;pointer-events:none}@keyframes rail-shimmer{0%,to{transform:translate(0);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(420%);opacity:0}}@media(prefers-reduced-motion:reduce){.rail:after{animation:none;opacity:.35;left:0;width:100%;transform:none}}';
|
|
2
|
+
export {
|
|
3
|
+
t as default
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=stat-rail.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stat-rail.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LitElement, nothing } from 'lit';
|
|
2
|
+
import { OsLeaderboardCasinoStatsSection } from '../../types/sections.js';
|
|
3
|
+
import { StatsSectionHost, StatRailSegment } from './stats-section.host.js';
|
|
4
|
+
export declare class OsLeaderboardCasinoStats extends LitElement implements StatsSectionHost {
|
|
5
|
+
static styles: import('lit').CSSResult[];
|
|
6
|
+
section: OsLeaderboardCasinoStatsSection;
|
|
7
|
+
get participantsLabel(): string;
|
|
8
|
+
get showPrizes(): boolean;
|
|
9
|
+
get prizesLabel(): string;
|
|
10
|
+
get showBiggestWin(): boolean;
|
|
11
|
+
get biggestWinLabel(): string;
|
|
12
|
+
get participantsSegment(): StatRailSegment;
|
|
13
|
+
get prizesSegment(): StatRailSegment;
|
|
14
|
+
get biggestWinSegment(): StatRailSegment;
|
|
15
|
+
render(): import('lit').TemplateResult | typeof nothing;
|
|
16
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { OsLeaderboardCasinoStatsSection } from '../../types/sections.js';
|
|
2
|
+
export type StatRailSegment = 'solo' | 'start' | 'middle' | 'end';
|
|
3
|
+
export interface StatsSectionHost {
|
|
4
|
+
section: OsLeaderboardCasinoStatsSection;
|
|
5
|
+
participantsLabel: string;
|
|
6
|
+
participantsSegment: StatRailSegment;
|
|
7
|
+
showPrizes: boolean;
|
|
8
|
+
prizesLabel: string;
|
|
9
|
+
prizesSegment: StatRailSegment;
|
|
10
|
+
showBiggestWin: boolean;
|
|
11
|
+
biggestWinLabel: string;
|
|
12
|
+
biggestWinSegment: StatRailSegment;
|
|
13
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { html as a } from "lit";
|
|
2
|
+
function t(e) {
|
|
3
|
+
return a`<section class="strip">
|
|
4
|
+
<os-leaderboard-casino-stat-rail
|
|
5
|
+
accent="participants"
|
|
6
|
+
icon="users"
|
|
7
|
+
segment="${e.participantsSegment}"
|
|
8
|
+
value="${e.participantsLabel}"
|
|
9
|
+
label="Participants"
|
|
10
|
+
></os-leaderboard-casino-stat-rail>
|
|
11
|
+
<os-leaderboard-casino-stat-rail
|
|
12
|
+
?hidden=${!e.showPrizes}
|
|
13
|
+
accent="prizes"
|
|
14
|
+
icon="gift"
|
|
15
|
+
segment="${e.prizesSegment}"
|
|
16
|
+
value="${e.prizesLabel}"
|
|
17
|
+
label="Prize Tiers"
|
|
18
|
+
></os-leaderboard-casino-stat-rail>
|
|
19
|
+
<os-leaderboard-casino-stat-rail
|
|
20
|
+
?hidden=${!e.showBiggestWin}
|
|
21
|
+
accent="biggestWin"
|
|
22
|
+
icon="trophy"
|
|
23
|
+
segment="${e.biggestWinSegment}"
|
|
24
|
+
value="${e.biggestWinLabel}"
|
|
25
|
+
label="Biggest Win"
|
|
26
|
+
compact
|
|
27
|
+
></os-leaderboard-casino-stat-rail>
|
|
28
|
+
</section>
|
|
29
|
+
`;
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
t as default
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=stats-section.html.js.map
|
package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/stats-section/stats-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<section class=\"strip\">\n <os-leaderboard-casino-stat-rail\n accent=\"participants\"\n icon=\"users\"\n segment=\"${host.participantsSegment}\"\n value=\"${host.participantsLabel}\"\n label=\"Participants\"\n ></os-leaderboard-casino-stat-rail>\n <os-leaderboard-casino-stat-rail\n ?hidden=${!host.showPrizes}\n accent=\"prizes\"\n icon=\"gift\"\n segment=\"${host.prizesSegment}\"\n value=\"${host.prizesLabel}\"\n label=\"Prize Tiers\"\n ></os-leaderboard-casino-stat-rail>\n <os-leaderboard-casino-stat-rail\n ?hidden=${!host.showBiggestWin}\n accent=\"biggestWin\"\n icon=\"trophy\"\n segment=\"${host.biggestWinSegment}\"\n value=\"${host.biggestWinLabel}\"\n label=\"Biggest Win\"\n compact\n ></os-leaderboard-casino-stat-rail>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA;AAAA;AAAA,eAIMD,EAAK,mBAAmB;AAAA,aAC1BA,EAAK,iBAAiB;AAAA;AAAA;AAAA;AAAA,cAIrB,CAACA,EAAK,UAAU;AAAA;AAAA;AAAA,eAGfA,EAAK,aAAa;AAAA,aACpBA,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA,cAIf,CAACA,EAAK,cAAc;AAAA;AAAA;AAAA,eAGnBA,EAAK,iBAAiB;AAAA,aACxBA,EAAK,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAMjC;"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { LitElement as g, nothing as p } from "lit";
|
|
2
|
+
import { property as c } from "lit/decorators.js";
|
|
3
|
+
import { Component as l } from "../../../../shared/lib/lit/component.js";
|
|
4
|
+
import { scss as u } from "../../../../shared/lib/lit/scss.js";
|
|
5
|
+
import { OS_LEADERBOARD_CASINO_STATS as h } from "../../constants/tags.js";
|
|
6
|
+
import { osLeaderboardCasinoTheme as f } from "../../theme/styles.js";
|
|
7
|
+
import "lit/directives/unsafe-svg.js";
|
|
8
|
+
import "./components/stat-rail/stat-rail.js";
|
|
9
|
+
import b from "./stats-section.html.js";
|
|
10
|
+
import S from "./stats-section.scss.js";
|
|
11
|
+
var L = Object.defineProperty, d = Object.getOwnPropertyDescriptor, a = (r, e, n, i) => {
|
|
12
|
+
for (var t = i > 1 ? void 0 : i ? d(e, n) : e, o = r.length - 1, m; o >= 0; o--)
|
|
13
|
+
(m = r[o]) && (t = (i ? m(e, n, t) : m(t)) || t);
|
|
14
|
+
return i && t && L(e, n, t), t;
|
|
15
|
+
};
|
|
16
|
+
function P(r, e = "USD") {
|
|
17
|
+
try {
|
|
18
|
+
return new Intl.NumberFormat("en-US", {
|
|
19
|
+
style: "currency",
|
|
20
|
+
currency: e,
|
|
21
|
+
maximumFractionDigits: 0
|
|
22
|
+
}).format(r);
|
|
23
|
+
} catch {
|
|
24
|
+
return r.toLocaleString();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
let s = class extends g {
|
|
28
|
+
get participantsLabel() {
|
|
29
|
+
return this.section.totalParticipants.toLocaleString();
|
|
30
|
+
}
|
|
31
|
+
get showPrizes() {
|
|
32
|
+
return this.section.totalPrizes != null;
|
|
33
|
+
}
|
|
34
|
+
get prizesLabel() {
|
|
35
|
+
return (this.section.totalPrizes ?? 0).toLocaleString();
|
|
36
|
+
}
|
|
37
|
+
get showBiggestWin() {
|
|
38
|
+
return this.section.biggestWin != null;
|
|
39
|
+
}
|
|
40
|
+
get biggestWinLabel() {
|
|
41
|
+
return P(
|
|
42
|
+
this.section.biggestWin ?? 0,
|
|
43
|
+
this.section.biggestWinCurrency ?? "USD"
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
get participantsSegment() {
|
|
47
|
+
return !this.showPrizes && !this.showBiggestWin ? "solo" : "start";
|
|
48
|
+
}
|
|
49
|
+
get prizesSegment() {
|
|
50
|
+
return this.showBiggestWin ? "middle" : "end";
|
|
51
|
+
}
|
|
52
|
+
get biggestWinSegment() {
|
|
53
|
+
return "end";
|
|
54
|
+
}
|
|
55
|
+
render() {
|
|
56
|
+
return this.section ? b(this) : p;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
s.styles = [f, u(S)];
|
|
60
|
+
a([
|
|
61
|
+
c({ attribute: !1 })
|
|
62
|
+
], s.prototype, "section", 2);
|
|
63
|
+
s = a([
|
|
64
|
+
l({ selector: h })
|
|
65
|
+
], s);
|
|
66
|
+
export {
|
|
67
|
+
s as OsLeaderboardCasinoStats
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=stats-section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/stats-section/stats-section.ts"],"sourcesContent":["import { LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_STATS } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type { OsLeaderboardCasinoStatsSection } from '@os-leaderboard-casino/types/sections.js';\nimport type { StatsSectionHost, StatRailSegment } from './stats-section.host.js';\nimport './components/stat-rail/stat-rail.js';\nimport renderTemplate from './stats-section.html?lit-html';\nimport styles from './stats-section.scss?inline';\n\nfunction formatWinAmount(value: number, currency = 'USD'): string {\n try {\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency,\n maximumFractionDigits: 0,\n }).format(value);\n } catch {\n return value.toLocaleString();\n }\n}\n\n@Component({ selector: OS_LEADERBOARD_CASINO_STATS })\nexport class OsLeaderboardCasinoStats\n extends LitElement\n implements StatsSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoStatsSection;\n\n get participantsLabel(): string {\n return this.section.totalParticipants.toLocaleString();\n }\n\n get showPrizes(): boolean {\n return this.section.totalPrizes != null;\n }\n\n get prizesLabel(): string {\n return (this.section.totalPrizes ?? 0).toLocaleString();\n }\n\n get showBiggestWin(): boolean {\n return this.section.biggestWin != null;\n }\n\n get biggestWinLabel(): string {\n return formatWinAmount(\n this.section.biggestWin ?? 0,\n this.section.biggestWinCurrency ?? 'USD',\n );\n }\n\n get participantsSegment(): StatRailSegment {\n if (!this.showPrizes && !this.showBiggestWin) return 'solo';\n return 'start';\n }\n\n get prizesSegment(): StatRailSegment {\n return this.showBiggestWin ? 'middle' : 'end';\n }\n\n get biggestWinSegment(): StatRailSegment {\n return 'end';\n }\n\n render() {\n if (!this.section) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["formatWinAmount","value","currency","OsLeaderboardCasinoStats","LitElement","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_STATS"],"mappings":";;;;;;;;;;;;;;;AAYA,SAASA,EAAgBC,GAAeC,IAAW,OAAe;AAChE,MAAI;AACF,WAAO,IAAI,KAAK,aAAa,SAAS;AAAA,MACpC,OAAO;AAAA,MACP,UAAAA;AAAA,MACA,uBAAuB;AAAA,IAAA,CACxB,EAAE,OAAOD,CAAK;AAAA,EACjB,QAAQ;AACN,WAAOA,EAAM,eAAA;AAAA,EACf;AACF;AAGO,IAAME,IAAN,cACGC,EAEV;AAAA,EAME,IAAI,oBAA4B;AAC9B,WAAO,KAAK,QAAQ,kBAAkB,eAAA;AAAA,EACxC;AAAA,EAEA,IAAI,aAAsB;AACxB,WAAO,KAAK,QAAQ,eAAe;AAAA,EACrC;AAAA,EAEA,IAAI,cAAsB;AACxB,YAAQ,KAAK,QAAQ,eAAe,GAAG,eAAA;AAAA,EACzC;AAAA,EAEA,IAAI,iBAA0B;AAC5B,WAAO,KAAK,QAAQ,cAAc;AAAA,EACpC;AAAA,EAEA,IAAI,kBAA0B;AAC5B,WAAOJ;AAAA,MACL,KAAK,QAAQ,cAAc;AAAA,MAC3B,KAAK,QAAQ,sBAAsB;AAAA,IAAA;AAAA,EAEvC;AAAA,EAEA,IAAI,sBAAuC;AACzC,WAAI,CAAC,KAAK,cAAc,CAAC,KAAK,iBAAuB,SAC9C;AAAA,EACT;AAAA,EAEA,IAAI,gBAAiC;AACnC,WAAO,KAAK,iBAAiB,WAAW;AAAA,EAC1C;AAAA,EAEA,IAAI,oBAAqC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,SAAS;AACP,WAAK,KAAK,UACHK,EAAe,IAAI,IADAC;AAAA,EAE5B;AACF;AAjDaH,EAIJ,SAAS,CAACI,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GANnBR,EAOX,WAAA,WAAA,CAAA;AAPWA,IAANO,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA6B;AAAA,GACvCV,CAAA;"}
|
package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.scss.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LitElement, nothing } from 'lit';
|
|
2
|
+
import { OsLeaderboardCasinoTableView } from '../../types/sections.js';
|
|
3
|
+
import { TableSectionHost } from './table-section.host.js';
|
|
4
|
+
/** Top-players preview — pinned current user, golden CTA. */
|
|
5
|
+
export declare class OsLeaderboardCasinoTable extends LitElement implements TableSectionHost {
|
|
6
|
+
static styles: import('lit').CSSResult[];
|
|
7
|
+
private _resizeObserver?;
|
|
8
|
+
connectedCallback(): void;
|
|
9
|
+
disconnectedCallback(): void;
|
|
10
|
+
protected updated(): void;
|
|
11
|
+
private _syncStickyWidth;
|
|
12
|
+
section: OsLeaderboardCasinoTableView;
|
|
13
|
+
/** Campaign uuid included in the `leaderboard-open` event detail. */
|
|
14
|
+
uuid: string;
|
|
15
|
+
finished: boolean;
|
|
16
|
+
get sectionTitle(): string;
|
|
17
|
+
get ctaLabel(): string;
|
|
18
|
+
private get visiblePlayers();
|
|
19
|
+
private get pinnedCurrentUser();
|
|
20
|
+
get hasPlayers(): boolean;
|
|
21
|
+
get emptyMessage(): string;
|
|
22
|
+
get showPinned(): boolean;
|
|
23
|
+
onOpenClick(): void;
|
|
24
|
+
private resolvePlayerPrize;
|
|
25
|
+
private renderRankChange;
|
|
26
|
+
private avatarUrl;
|
|
27
|
+
private renderRow;
|
|
28
|
+
renderPlayers(): import('lit').TemplateResult<1>;
|
|
29
|
+
renderPinnedRow(): typeof nothing | import('lit').TemplateResult<1>;
|
|
30
|
+
render(): import('lit').TemplateResult | typeof nothing;
|
|
31
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LitTemplate } from '../../../../shared/lib/lit/template.js';
|
|
2
|
+
import { OsLeaderboardCasinoTableView } from '../../types/sections.js';
|
|
3
|
+
export interface TableSectionHost {
|
|
4
|
+
section: OsLeaderboardCasinoTableView;
|
|
5
|
+
uuid: string;
|
|
6
|
+
finished: boolean;
|
|
7
|
+
sectionTitle: string;
|
|
8
|
+
ctaLabel: string;
|
|
9
|
+
hasPlayers: boolean;
|
|
10
|
+
emptyMessage: string;
|
|
11
|
+
showPinned: boolean;
|
|
12
|
+
onOpenClick(): void;
|
|
13
|
+
renderPlayers(): LitTemplate;
|
|
14
|
+
renderPinnedRow(): LitTemplate;
|
|
15
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { html as s } from "lit";
|
|
2
|
+
function n(a) {
|
|
3
|
+
return s`<section>
|
|
4
|
+
<div class="section-header">
|
|
5
|
+
<h2 class="section-title">${a.sectionTitle}</h2>
|
|
6
|
+
</div>
|
|
7
|
+
|
|
8
|
+
<div class="card-shell">
|
|
9
|
+
<div class="card-accent" aria-hidden="true"></div>
|
|
10
|
+
<div class="card">
|
|
11
|
+
<div class="table-scroll">
|
|
12
|
+
<div class="table-head">
|
|
13
|
+
<span class="col-rank">Rank</span>
|
|
14
|
+
<span class="col-player">Player</span>
|
|
15
|
+
<span class="col-games">Games</span>
|
|
16
|
+
<span class="col-win-rate">Win rate</span>
|
|
17
|
+
<span class="col-bet">Total bet</span>
|
|
18
|
+
<span class="col-points">Points</span>
|
|
19
|
+
<span class="col-rank-change">Change</span>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="empty" ?hidden=${a.hasPlayers}>${a.emptyMessage}</div>
|
|
22
|
+
${a.renderPlayers()}
|
|
23
|
+
<div class="divider" ?hidden=${!a.showPinned}>Your position</div>
|
|
24
|
+
${a.renderPinnedRow()}
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<button type="button" class="cta" @click=${a.onOpenClick}>
|
|
30
|
+
${a.ctaLabel}
|
|
31
|
+
</button>
|
|
32
|
+
</section>
|
|
33
|
+
`;
|
|
34
|
+
}
|
|
35
|
+
export {
|
|
36
|
+
n as default
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=table-section.html.js.map
|
package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/table-section/table-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<section>\n <div class=\"section-header\">\n <h2 class=\"section-title\">${host.sectionTitle}</h2>\n </div>\n\n <div class=\"card-shell\">\n <div class=\"card-accent\" aria-hidden=\"true\"></div>\n <div class=\"card\">\n <div class=\"table-scroll\">\n <div class=\"table-head\">\n <span class=\"col-rank\">Rank</span>\n <span class=\"col-player\">Player</span>\n <span class=\"col-games\">Games</span>\n <span class=\"col-win-rate\">Win rate</span>\n <span class=\"col-bet\">Total bet</span>\n <span class=\"col-points\">Points</span>\n <span class=\"col-rank-change\">Change</span>\n </div>\n <div class=\"empty\" ?hidden=${host.hasPlayers}>${host.emptyMessage}</div>\n ${host.renderPlayers()}\n <div class=\"divider\" ?hidden=${!host.showPinned}>Your position</div>\n ${host.renderPinnedRow()}\n </div>\n </div>\n </div>\n\n <button type=\"button\" class=\"cta\" @click=${host.onOpenClick}>\n ${host.ctaLabel}\n </button>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA,gCAEuBD,EAAK,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mCAgBdA,EAAK,UAAU,IAAIA,EAAK,YAAY;AAAA,QAC/DA,EAAK,cAAa,CAAE;AAAA,qCACS,CAACA,EAAK,UAAU;AAAA,QAC7CA,EAAK,gBAAe,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA,6CAKeA,EAAK,WAAW;AAAA,MACvDA,EAAK,QAAQ;AAAA;AAAA;AAAA;AAInB;"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { LitElement as f, html as r, nothing as i } from "lit";
|
|
2
|
+
import { property as d } from "lit/decorators.js";
|
|
3
|
+
import { unsafeSVG as c } from "lit/directives/unsafe-svg.js";
|
|
4
|
+
import v from "../../assets/icons/table.rank-up.svg.js";
|
|
5
|
+
import b from "../../assets/icons/table.rank-down.svg.js";
|
|
6
|
+
import g from "../../assets/icons/table.rank-neutral.svg.js";
|
|
7
|
+
import { Component as k } from "../../../../shared/lib/lit/component.js";
|
|
8
|
+
import { scss as y } from "../../../../shared/lib/lit/scss.js";
|
|
9
|
+
import { DEFAULT_TABLE_TITLE as $, DEFAULT_CTA_LABEL_FINISHED as _, DEFAULT_CTA_LABEL as w } from "../../constants/defaults.js";
|
|
10
|
+
import { OS_LEADERBOARD_CASINO_TABLE as P } from "../../constants/tags.js";
|
|
11
|
+
import { osLeaderboardCasinoTheme as S } from "../../theme/styles.js";
|
|
12
|
+
import { renderPlayerName as C } from "../../theme/vip-mark.js";
|
|
13
|
+
import { labelText as R } from "../../types/data.js";
|
|
14
|
+
import { prizeForRank as L, podiumVariantForRank as E } from "../../theme/prize-resolve.js";
|
|
15
|
+
import { OS_LEADERBOARD_CASINO_OPEN as O } from "../../types/events.js";
|
|
16
|
+
import "../prize-section/components/medal-coin/medal-coin.js";
|
|
17
|
+
import z from "./table-section.html.js";
|
|
18
|
+
import A from "./table-section.scss.js";
|
|
19
|
+
var D = Object.defineProperty, T = Object.getOwnPropertyDescriptor, l = (e, s, t, o) => {
|
|
20
|
+
for (var n = o > 1 ? void 0 : o ? T(s, t) : s, p = e.length - 1, u; p >= 0; p--)
|
|
21
|
+
(u = e[p]) && (n = (o ? u(s, t, n) : u(n)) || n);
|
|
22
|
+
return o && n && D(s, t, n), n;
|
|
23
|
+
};
|
|
24
|
+
function U(e) {
|
|
25
|
+
return new Intl.NumberFormat("en-US", {
|
|
26
|
+
style: "currency",
|
|
27
|
+
currency: "USD",
|
|
28
|
+
maximumFractionDigits: 0
|
|
29
|
+
}).format(e);
|
|
30
|
+
}
|
|
31
|
+
function B(e) {
|
|
32
|
+
return e != null ? e.toLocaleString() : "—";
|
|
33
|
+
}
|
|
34
|
+
function m(e) {
|
|
35
|
+
return e.replace("<svg ", '<svg viewBox="0 0 512 512" ');
|
|
36
|
+
}
|
|
37
|
+
const x = m(v), N = m(b), h = m(g);
|
|
38
|
+
let a = class extends f {
|
|
39
|
+
constructor() {
|
|
40
|
+
super(...arguments), this.uuid = "", this.finished = !1;
|
|
41
|
+
}
|
|
42
|
+
connectedCallback() {
|
|
43
|
+
super.connectedCallback(), this._resizeObserver = new ResizeObserver(() => this._syncStickyWidth()), this._resizeObserver.observe(this);
|
|
44
|
+
}
|
|
45
|
+
disconnectedCallback() {
|
|
46
|
+
super.disconnectedCallback(), this._resizeObserver?.disconnect();
|
|
47
|
+
}
|
|
48
|
+
updated() {
|
|
49
|
+
this._syncStickyWidth();
|
|
50
|
+
}
|
|
51
|
+
_syncStickyWidth() {
|
|
52
|
+
const e = this.shadowRoot?.querySelector(".card"), s = this.shadowRoot?.querySelector(".col-player");
|
|
53
|
+
e && this.style.setProperty(
|
|
54
|
+
"--table-scrollport-width",
|
|
55
|
+
`${e.clientWidth}px`
|
|
56
|
+
), s && this.style.setProperty(
|
|
57
|
+
"--sticky-player-width",
|
|
58
|
+
`${s.offsetWidth}px`
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
get sectionTitle() {
|
|
62
|
+
return $;
|
|
63
|
+
}
|
|
64
|
+
get ctaLabel() {
|
|
65
|
+
return this.section?.ctaLabel ?? (this.finished ? _ : w);
|
|
66
|
+
}
|
|
67
|
+
get visiblePlayers() {
|
|
68
|
+
return this.section?.topPlayers ?? [];
|
|
69
|
+
}
|
|
70
|
+
get pinnedCurrentUser() {
|
|
71
|
+
const e = this.section?.currentUser;
|
|
72
|
+
return !e || !("you" in e) || (this.section?.topPlayers ?? []).some((t) => t.you) ? void 0 : e;
|
|
73
|
+
}
|
|
74
|
+
get hasPlayers() {
|
|
75
|
+
return this.visiblePlayers.length > 0;
|
|
76
|
+
}
|
|
77
|
+
get emptyMessage() {
|
|
78
|
+
return "No players yet.";
|
|
79
|
+
}
|
|
80
|
+
get showPinned() {
|
|
81
|
+
return this.pinnedCurrentUser != null;
|
|
82
|
+
}
|
|
83
|
+
onOpenClick() {
|
|
84
|
+
this.dispatchEvent(
|
|
85
|
+
new CustomEvent(O, {
|
|
86
|
+
detail: { uuid: this.uuid },
|
|
87
|
+
bubbles: !0,
|
|
88
|
+
composed: !0
|
|
89
|
+
})
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
resolvePlayerPrize(e) {
|
|
93
|
+
const s = this.section?.prizes ?? [];
|
|
94
|
+
return L(s, e.rank) ?? e.prize;
|
|
95
|
+
}
|
|
96
|
+
renderRankChange(e) {
|
|
97
|
+
if (e.previousRank == null)
|
|
98
|
+
return r`<span class="chip flat"
|
|
99
|
+
>${c(h)}</span
|
|
100
|
+
>`;
|
|
101
|
+
const s = e.previousRank - e.rank;
|
|
102
|
+
return s === 0 ? r`<span class="chip flat"
|
|
103
|
+
>${c(h)}</span
|
|
104
|
+
>` : s > 0 ? r`<span class="chip up"
|
|
105
|
+
>${c(x)}${s}</span
|
|
106
|
+
>` : r`<span class="chip down"
|
|
107
|
+
>${c(N)}${Math.abs(s)}</span
|
|
108
|
+
>`;
|
|
109
|
+
}
|
|
110
|
+
avatarUrl(e) {
|
|
111
|
+
return `https://api.dicebear.com/9.x/lorelei/svg?seed=${encodeURIComponent(
|
|
112
|
+
e
|
|
113
|
+
)}`;
|
|
114
|
+
}
|
|
115
|
+
renderRow(e) {
|
|
116
|
+
const s = !e.you && e.rank <= 3 ? `podium-${e.rank}` : "", t = this.resolvePlayerPrize(e), o = e.totalBet ?? Math.round(e.points * (1.8 + e.rank * 0.04));
|
|
117
|
+
return r`
|
|
118
|
+
<div
|
|
119
|
+
class="row ${e.you ? "you" : ""} ${e.vip ? "vip" : ""} ${s}"
|
|
120
|
+
>
|
|
121
|
+
${e.rank <= 3 && !e.you ? r`<span class="rank col-rank"
|
|
122
|
+
><os-leaderboard-casino-medal-coin
|
|
123
|
+
variant=${E(e.rank)}
|
|
124
|
+
rank=${e.rank}
|
|
125
|
+
size=${30}
|
|
126
|
+
></os-leaderboard-casino-medal-coin
|
|
127
|
+
></span>` : r`<span class="rank col-rank">#${e.rank}</span>`}
|
|
128
|
+
<div class="player col-player">
|
|
129
|
+
<span class="avatar">
|
|
130
|
+
<img src=${this.avatarUrl(e.username)} alt="" loading="lazy" />
|
|
131
|
+
</span>
|
|
132
|
+
<span class="who">
|
|
133
|
+
<span class="username">
|
|
134
|
+
${C(e.username, {
|
|
135
|
+
vip: e.vip,
|
|
136
|
+
suffix: e.you ? r`<span class="you-tag">You</span>` : i
|
|
137
|
+
})}
|
|
138
|
+
</span>
|
|
139
|
+
${t ? r`<span class="prize-sub"
|
|
140
|
+
><span class="prize-label"
|
|
141
|
+
>${R(t.label)}</span
|
|
142
|
+
></span
|
|
143
|
+
>` : i}
|
|
144
|
+
</span>
|
|
145
|
+
</div>
|
|
146
|
+
<span class="col-games">${B(e.gamesPlayed)}</span>
|
|
147
|
+
<span class="col-win-rate"
|
|
148
|
+
>${e.winRate != null ? `${e.winRate}%` : "—"}</span
|
|
149
|
+
>
|
|
150
|
+
<span class="col-bet">${U(o)}</span>
|
|
151
|
+
<span class="col-points"><b>${e.points.toLocaleString()}</b></span>
|
|
152
|
+
<span class="col-rank-change">${this.renderRankChange(e)}</span>
|
|
153
|
+
</div>
|
|
154
|
+
`;
|
|
155
|
+
}
|
|
156
|
+
renderPlayers() {
|
|
157
|
+
return r`${this.visiblePlayers.map((e) => this.renderRow(e))}`;
|
|
158
|
+
}
|
|
159
|
+
renderPinnedRow() {
|
|
160
|
+
const e = this.pinnedCurrentUser;
|
|
161
|
+
return e ? this.renderRow(e) : i;
|
|
162
|
+
}
|
|
163
|
+
render() {
|
|
164
|
+
return this.section ? z(this) : i;
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
a.styles = [S, y(A)];
|
|
168
|
+
l([
|
|
169
|
+
d({ attribute: !1 })
|
|
170
|
+
], a.prototype, "section", 2);
|
|
171
|
+
l([
|
|
172
|
+
d({ type: String })
|
|
173
|
+
], a.prototype, "uuid", 2);
|
|
174
|
+
l([
|
|
175
|
+
d({ type: Boolean })
|
|
176
|
+
], a.prototype, "finished", 2);
|
|
177
|
+
a = l([
|
|
178
|
+
k({ selector: P })
|
|
179
|
+
], a);
|
|
180
|
+
export {
|
|
181
|
+
a as OsLeaderboardCasinoTable
|
|
182
|
+
};
|
|
183
|
+
//# sourceMappingURL=table-section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/table-section/table-section.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport rankUpSvg from '../../assets/icons/table.rank-up.svg?raw';\nimport rankDownSvg from '../../assets/icons/table.rank-down.svg?raw';\nimport rankNeutralSvg from '../../assets/icons/table.rank-neutral.svg?raw';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport {\n DEFAULT_CTA_LABEL,\n DEFAULT_CTA_LABEL_FINISHED,\n DEFAULT_TABLE_TITLE,\n} from '@os-leaderboard-casino/constants/defaults.js';\nimport { OS_LEADERBOARD_CASINO_TABLE } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport { renderPlayerName } from '@os-leaderboard-casino/theme/vip-mark.js';\nimport {\n labelText,\n type QuizPrize,\n type UserRank,\n} from '@os-leaderboard-casino/types/data.js';\nimport {\n podiumVariantForRank,\n prizeForRank,\n} from '@os-leaderboard-casino/theme/prize-resolve.js';\nimport { OS_LEADERBOARD_CASINO_OPEN } from '@os-leaderboard-casino/types/events.js';\nimport type { OsLeaderboardCasinoTableView } from '@os-leaderboard-casino/types/sections.js';\nimport type { TableSectionHost } from './table-section.host.js';\nimport '@os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js';\nimport renderTemplate from './table-section.html?lit-html';\nimport styles from './table-section.scss?inline';\n\nfunction formatTotalBet(value: number): string {\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: 0,\n }).format(value);\n}\n\nfunction formatGamesPlayed(value: number | undefined): string {\n return value != null ? value.toLocaleString() : '—';\n}\n\nfunction addViewBox(svg: string): string {\n return svg.replace('<svg ', '<svg viewBox=\"0 0 512 512\" ');\n}\n\nconst rankUpSvgVb = addViewBox(rankUpSvg);\nconst rankDownSvgVb = addViewBox(rankDownSvg);\nconst rankNeutralSvgVb = addViewBox(rankNeutralSvg);\n\n/** Top-players preview — pinned current user, golden CTA. */\n@Component({ selector: OS_LEADERBOARD_CASINO_TABLE })\nexport class OsLeaderboardCasinoTable\n extends LitElement\n implements TableSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n private _resizeObserver?: ResizeObserver;\n\n connectedCallback() {\n super.connectedCallback();\n this._resizeObserver = new ResizeObserver(() => this._syncStickyWidth());\n this._resizeObserver.observe(this);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._resizeObserver?.disconnect();\n }\n\n protected updated() {\n this._syncStickyWidth();\n }\n\n private _syncStickyWidth() {\n const card = this.shadowRoot?.querySelector<HTMLElement>('.card');\n const player = this.shadowRoot?.querySelector<HTMLElement>('.col-player');\n\n if (card) {\n this.style.setProperty(\n '--table-scrollport-width',\n `${card.clientWidth}px`,\n );\n }\n\n if (player) {\n this.style.setProperty(\n '--sticky-player-width',\n `${player.offsetWidth}px`,\n );\n }\n }\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoTableView;\n\n /** Campaign uuid included in the `leaderboard-open` event detail. */\n @property({ type: String })\n uuid = '';\n\n @property({ type: Boolean })\n finished = false;\n\n get sectionTitle(): string {\n return DEFAULT_TABLE_TITLE;\n }\n\n get ctaLabel(): string {\n return (\n this.section?.ctaLabel ??\n (this.finished ? DEFAULT_CTA_LABEL_FINISHED : DEFAULT_CTA_LABEL)\n );\n }\n\n private get visiblePlayers(): UserRank[] {\n return this.section?.topPlayers ?? [];\n }\n\n private get pinnedCurrentUser(): UserRank | undefined {\n const current = this.section?.currentUser;\n if (!current || !('you' in current)) return undefined;\n const players = this.section?.topPlayers ?? [];\n return players.some((p) => p.you) ? undefined : current;\n }\n\n get hasPlayers(): boolean {\n return this.visiblePlayers.length > 0;\n }\n\n get emptyMessage(): string {\n return 'No players yet.';\n }\n\n get showPinned(): boolean {\n return this.pinnedCurrentUser != null;\n }\n\n onOpenClick() {\n this.dispatchEvent(\n new CustomEvent(OS_LEADERBOARD_CASINO_OPEN, {\n detail: { uuid: this.uuid },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private resolvePlayerPrize(player: UserRank): QuizPrize | null {\n const prizes = this.section?.prizes ?? [];\n return prizeForRank(prizes, player.rank) ?? player.prize;\n }\n\n private renderRankChange(player: UserRank) {\n if (player.previousRank == null)\n return html`<span class=\"chip flat\"\n >${unsafeSVG(rankNeutralSvgVb)}</span\n >`;\n const delta = player.previousRank - player.rank;\n if (delta === 0)\n return html`<span class=\"chip flat\"\n >${unsafeSVG(rankNeutralSvgVb)}</span\n >`;\n if (delta > 0)\n return html`<span class=\"chip up\"\n >${unsafeSVG(rankUpSvgVb)}${delta}</span\n >`;\n return html`<span class=\"chip down\"\n >${unsafeSVG(rankDownSvgVb)}${Math.abs(delta)}</span\n >`;\n }\n\n private avatarUrl(username: string): string {\n return `https://api.dicebear.com/9.x/lorelei/svg?seed=${encodeURIComponent(\n username,\n )}`;\n }\n\n private renderRow(player: UserRank) {\n const podiumClass =\n !player.you && player.rank <= 3 ? `podium-${player.rank}` : '';\n const prize = this.resolvePlayerPrize(player);\n const totalBet =\n player.totalBet ?? Math.round(player.points * (1.8 + player.rank * 0.04));\n return html`\n <div\n class=\"row ${player.you ? 'you' : ''} ${player.vip\n ? 'vip'\n : ''} ${podiumClass}\"\n >\n ${player.rank <= 3 && !player.you\n ? html`<span class=\"rank col-rank\"\n ><os-leaderboard-casino-medal-coin\n variant=${podiumVariantForRank(player.rank as 1 | 2 | 3)}\n rank=${player.rank}\n size=${30}\n ></os-leaderboard-casino-medal-coin\n ></span>`\n : html`<span class=\"rank col-rank\">#${player.rank}</span>`}\n <div class=\"player col-player\">\n <span class=\"avatar\">\n <img src=${this.avatarUrl(player.username)} alt=\"\" loading=\"lazy\" />\n </span>\n <span class=\"who\">\n <span class=\"username\">\n ${renderPlayerName(player.username, {\n vip: player.vip,\n suffix: player.you\n ? html`<span class=\"you-tag\">You</span>`\n : nothing,\n })}\n </span>\n ${prize\n ? html`<span class=\"prize-sub\"\n ><span class=\"prize-label\"\n >${labelText(prize.label)}</span\n ></span\n >`\n : nothing}\n </span>\n </div>\n <span class=\"col-games\">${formatGamesPlayed(player.gamesPlayed)}</span>\n <span class=\"col-win-rate\"\n >${player.winRate != null ? `${player.winRate}%` : '—'}</span\n >\n <span class=\"col-bet\">${formatTotalBet(totalBet)}</span>\n <span class=\"col-points\"><b>${player.points.toLocaleString()}</b></span>\n <span class=\"col-rank-change\">${this.renderRankChange(player)}</span>\n </div>\n `;\n }\n\n renderPlayers() {\n return html`${this.visiblePlayers.map((p) => this.renderRow(p))}`;\n }\n\n renderPinnedRow() {\n const pinned = this.pinnedCurrentUser;\n if (!pinned) return nothing;\n return this.renderRow(pinned);\n }\n\n render() {\n if (!this.section) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["formatTotalBet","value","formatGamesPlayed","addViewBox","svg","rankUpSvgVb","rankUpSvg","rankDownSvgVb","rankDownSvg","rankNeutralSvgVb","rankNeutralSvg","OsLeaderboardCasinoTable","LitElement","card","player","DEFAULT_TABLE_TITLE","DEFAULT_CTA_LABEL_FINISHED","DEFAULT_CTA_LABEL","current","p","OS_LEADERBOARD_CASINO_OPEN","prizes","prizeForRank","html","unsafeSVG","delta","username","podiumClass","prize","totalBet","podiumVariantForRank","renderPlayerName","nothing","labelText","pinned","renderTemplate","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_TABLE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgCA,SAASA,EAAeC,GAAuB;AAC7C,SAAO,IAAI,KAAK,aAAa,SAAS;AAAA,IACpC,OAAO;AAAA,IACP,UAAU;AAAA,IACV,uBAAuB;AAAA,EAAA,CACxB,EAAE,OAAOA,CAAK;AACjB;AAEA,SAASC,EAAkBD,GAAmC;AAC5D,SAAOA,KAAS,OAAOA,EAAM,eAAA,IAAmB;AAClD;AAEA,SAASE,EAAWC,GAAqB;AACvC,SAAOA,EAAI,QAAQ,SAAS,6BAA6B;AAC3D;AAEA,MAAMC,IAAcF,EAAWG,CAAS,GAClCC,IAAgBJ,EAAWK,CAAW,GACtCC,IAAmBN,EAAWO,CAAc;AAI3C,IAAMC,IAAN,cACGC,EAEV;AAAA,EAHO,cAAA;AAAA,UAAA,GAAA,SAAA,GA+CL,KAAA,OAAO,IAGP,KAAA,WAAW;AAAA,EAAA;AAAA,EA1CX,oBAAoB;AAClB,UAAM,kBAAA,GACN,KAAK,kBAAkB,IAAI,eAAe,MAAM,KAAK,kBAAkB,GACvE,KAAK,gBAAgB,QAAQ,IAAI;AAAA,EACnC;AAAA,EAEA,uBAAuB;AACrB,UAAM,qBAAA,GACN,KAAK,iBAAiB,WAAA;AAAA,EACxB;AAAA,EAEU,UAAU;AAClB,SAAK,iBAAA;AAAA,EACP;AAAA,EAEQ,mBAAmB;AACzB,UAAMC,IAAO,KAAK,YAAY,cAA2B,OAAO,GAC1DC,IAAS,KAAK,YAAY,cAA2B,aAAa;AAExE,IAAID,KACF,KAAK,MAAM;AAAA,MACT;AAAA,MACA,GAAGA,EAAK,WAAW;AAAA,IAAA,GAInBC,KACF,KAAK,MAAM;AAAA,MACT;AAAA,MACA,GAAGA,EAAO,WAAW;AAAA,IAAA;AAAA,EAG3B;AAAA,EAYA,IAAI,eAAuB;AACzB,WAAOC;AAAA,EACT;AAAA,EAEA,IAAI,WAAmB;AACrB,WACE,KAAK,SAAS,aACb,KAAK,WAAWC,IAA6BC;AAAA,EAElD;AAAA,EAEA,IAAY,iBAA6B;AACvC,WAAO,KAAK,SAAS,cAAc,CAAA;AAAA,EACrC;AAAA,EAEA,IAAY,oBAA0C;AACpD,UAAMC,IAAU,KAAK,SAAS;AAC9B,WAAI,CAACA,KAAW,EAAE,SAASA,OACX,KAAK,SAAS,cAAc,CAAA,GAC7B,KAAK,CAACC,MAAMA,EAAE,GAAG,IAFK,SAEWD;AAAA,EAClD;AAAA,EAEA,IAAI,aAAsB;AACxB,WAAO,KAAK,eAAe,SAAS;AAAA,EACtC;AAAA,EAEA,IAAI,eAAuB;AACzB,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,aAAsB;AACxB,WAAO,KAAK,qBAAqB;AAAA,EACnC;AAAA,EAEA,cAAc;AACZ,SAAK;AAAA,MACH,IAAI,YAAYE,GAA4B;AAAA,QAC1C,QAAQ,EAAE,MAAM,KAAK,KAAA;AAAA,QACrB,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX;AAAA,IAAA;AAAA,EAEL;AAAA,EAEQ,mBAAmBN,GAAoC;AAC7D,UAAMO,IAAS,KAAK,SAAS,UAAU,CAAA;AACvC,WAAOC,EAAaD,GAAQP,EAAO,IAAI,KAAKA,EAAO;AAAA,EACrD;AAAA,EAEQ,iBAAiBA,GAAkB;AACzC,QAAIA,EAAO,gBAAgB;AACzB,aAAOS;AAAA,WACFC,EAAUf,CAAgB,CAAC;AAAA;AAElC,UAAMgB,IAAQX,EAAO,eAAeA,EAAO;AAC3C,WAAIW,MAAU,IACLF;AAAA,WACFC,EAAUf,CAAgB,CAAC;AAAA,WAE9BgB,IAAQ,IACHF;AAAA,WACFC,EAAUnB,CAAW,CAAC,GAAGoB,CAAK;AAAA,WAE9BF;AAAA,SACFC,EAAUjB,CAAa,CAAC,GAAG,KAAK,IAAIkB,CAAK,CAAC;AAAA;AAAA,EAEjD;AAAA,EAEQ,UAAUC,GAA0B;AAC1C,WAAO,iDAAiD;AAAA,MACtDA;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EAEQ,UAAUZ,GAAkB;AAClC,UAAMa,IACJ,CAACb,EAAO,OAAOA,EAAO,QAAQ,IAAI,UAAUA,EAAO,IAAI,KAAK,IACxDc,IAAQ,KAAK,mBAAmBd,CAAM,GACtCe,IACJf,EAAO,YAAY,KAAK,MAAMA,EAAO,UAAU,MAAMA,EAAO,OAAO,KAAK;AAC1E,WAAOS;AAAA;AAAA,qBAEUT,EAAO,MAAM,QAAQ,EAAE,IAAIA,EAAO,MAC3C,QACA,EAAE,IAAIa,CAAW;AAAA;AAAA,UAEnBb,EAAO,QAAQ,KAAK,CAACA,EAAO,MAC1BS;AAAA;AAAA,0BAEcO,EAAqBhB,EAAO,IAAiB,CAAC;AAAA,uBACjDA,EAAO,IAAI;AAAA,uBACX,EAAE;AAAA;AAAA,wBAGbS,iCAAoCT,EAAO,IAAI,SAAS;AAAA;AAAA;AAAA,uBAG7C,KAAK,UAAUA,EAAO,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,gBAItCiB,EAAiBjB,EAAO,UAAU;AAAA,MAClC,KAAKA,EAAO;AAAA,MACZ,QAAQA,EAAO,MACXS,sCACAS;AAAA,IAAA,CACL,CAAC;AAAA;AAAA,cAEFJ,IACEL;AAAA;AAAA,uBAEOU,EAAUL,EAAM,KAAK,CAAC;AAAA;AAAA,qBAG7BI,CAAO;AAAA;AAAA;AAAA,kCAGW9B,EAAkBY,EAAO,WAAW,CAAC;AAAA;AAAA,aAE1DA,EAAO,WAAW,OAAO,GAAGA,EAAO,OAAO,MAAM,GAAG;AAAA;AAAA,gCAEhCd,EAAe6B,CAAQ,CAAC;AAAA,sCAClBf,EAAO,OAAO,gBAAgB;AAAA,wCAC5B,KAAK,iBAAiBA,CAAM,CAAC;AAAA;AAAA;AAAA,EAGnE;AAAA,EAEA,gBAAgB;AACd,WAAOS,IAAO,KAAK,eAAe,IAAI,CAACJ,MAAM,KAAK,UAAUA,CAAC,CAAC,CAAC;AAAA,EACjE;AAAA,EAEA,kBAAkB;AAChB,UAAMe,IAAS,KAAK;AACpB,WAAKA,IACE,KAAK,UAAUA,CAAM,IADRF;AAAA,EAEtB;AAAA,EAEA,SAAS;AACP,WAAK,KAAK,UACHG,EAAe,IAAI,IADAH;AAAA,EAE5B;AACF;AAlMarB,EAIJ,SAAS,CAACyB,GAA0BC,EAAKC,CAAM,CAAC;AAuCvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GA1CnB7B,EA2CX,WAAA,WAAA,CAAA;AAIA4B,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GA9Cf7B,EA+CX,WAAA,QAAA,CAAA;AAGA4B,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAA,CAAS;AAAA,GAjDhB7B,EAkDX,WAAA,YAAA,CAAA;AAlDWA,IAAN4B,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA6B;AAAA,GACvC/B,CAAA;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const a = '@charset "UTF-8";:host{display:flex;flex-direction:column;flex:1;width:100%;min-height:0}.card-shell{position:relative;flex:1;min-width:0;min-height:0;display:flex}.card{position:relative;background:radial-gradient(120% 80% at 50% -10%,rgba(157,107,255,.12),transparent 60%),linear-gradient(180deg,var(--surface-2),var(--surface)),var(--bg);border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);box-shadow:0 1px #ffffff0d inset,0 40px 80px -40px #000c;overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;flex:1;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gold) 35%,transparent) transparent}.card::-webkit-scrollbar{height:3px}.card::-webkit-scrollbar-track{background:transparent}.card::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--gold) 35%,transparent);border-radius:99px}.card::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--gold) 60%,transparent)}.card-accent{position:absolute;top:0;left:50%;transform:translate(-50%);width:min(400px,88%);height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5;pointer-events:none;z-index:2}@media(min-width:641px){.card-accent{width:100%;max-width:none;transform:none;left:0;background:linear-gradient(90deg,transparent,var(--gold) 45%,var(--gold) 55%,transparent)}}.table-scroll{display:grid;min-width:min-content;--table-col-gap: 18px;--table-pad-l: var(--table-col-gap);grid-template-columns:52px minmax(min-content,1fr) 56px 68px 72px 60px 60px;column-gap:var(--table-col-gap)}section{display:flex;flex-direction:column;flex:1;min-height:0}.table-head,.row{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:center;row-gap:0;padding:12px 16px 12px var(--table-pad-l)}.col-rank{grid-column:1}.col-player{grid-column:2}.col-games{grid-column:3}.col-win-rate{grid-column:4}.col-bet{grid-column:5}.col-points{grid-column:6}.col-rank-change{grid-column:7}.table-head .col-rank,.table-head .col-player,.table-head .col-bet,.table-head .col-points,.table-head .col-win-rate,.table-head .col-games,.table-head .col-rank-change,.col-rank,.col-player,.col-bet,.col-points,.col-win-rate,.col-games,.col-rank-change{min-width:0}.table-head .col-rank,.table-head .col-player,.col-rank,.col-player{justify-self:start;text-align:left}.table-head .col-rank,.col-rank{position:sticky;left:var(--table-pad-l);z-index:3;justify-self:stretch;align-self:stretch;display:flex;align-items:center}.table-head .col-player,.col-player{position:sticky;left:calc(var(--table-pad-l) + 40px + var(--table-col-gap));z-index:3;justify-self:stretch;align-self:stretch;display:flex;align-items:center}@keyframes scroll-cols-hide{0%{opacity:1}to{opacity:0}}.table-head .col-games,.col-games,.table-head .col-win-rate,.col-win-rate,.table-head .col-bet,.col-bet,.table-head .col-points,.col-points,.table-head .col-rank-change,.col-rank-change{animation:scroll-cols-hide linear both;animation-timeline:view(inline calc(var(--table-pad-l) + 40px + var(--table-col-gap) + var(--sticky-player-width, 120px)) 0px);animation-range:exit 0% exit 100%}.table-head .col-bet,.table-head .col-points,.table-head .col-win-rate,.table-head .col-games,.col-bet,.col-points,.col-win-rate,.col-games{justify-self:stretch;align-self:stretch;display:flex;align-items:center;justify-content:flex-end;text-align:right}.table-head .col-rank-change,.col-rank-change{justify-self:stretch;align-self:stretch;display:flex;align-items:center;justify-content:center;text-align:center}.table-head{padding-top:18px;padding-bottom:14px;border-bottom:1px solid var(--hairline)}.table-head .col-rank,.table-head .col-player,.table-head .col-bet,.table-head .col-points,.table-head .col-win-rate,.table-head .col-games,.table-head .col-rank-change{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.row{position:relative;min-height:34px;border-bottom:1px solid var(--hairline);transition:background .25s ease;cursor:pointer}.row:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .25s ease}.row:hover{background:linear-gradient(90deg,rgba(255,255,255,.04),transparent 70%)}.row:hover:after{background:var(--gold)}.row:last-child{border-bottom:none}.row.podium-1{background:linear-gradient(90deg,#f4cf6b33,#f4cf6b0d 70%)}.row.podium-1:after{box-shadow:none;transition:background .25s ease,box-shadow .25s ease}.row.podium-1:hover:after{background:var(--gold);box-shadow:0 0 14px 1px #f4cf6b80}.row.podium-1:hover{background:linear-gradient(90deg,#f4cf6b42,#f4cf6b12 70%)}.row.podium-2{background:linear-gradient(90deg,#cdd3df33,#cdd3df0d 70%)}.row.podium-2:after{box-shadow:none;transition:background .25s ease,box-shadow .25s ease}.row.podium-2:hover:after{background:var(--silver);box-shadow:0 0 14px 1px #cdd3df80}.row.podium-2:hover{background:linear-gradient(90deg,#cdd3df42,#cdd3df12 70%)}.row.podium-3{background:linear-gradient(90deg,#d99a6c33,#d99a6c0d 70%)}.row.podium-3:after{box-shadow:none;transition:background .25s ease,box-shadow .25s ease}.row.podium-3:hover:after{background:var(--bronze);box-shadow:0 0 14px 1px #d99a6c80}.row.podium-3:hover{background:linear-gradient(90deg,#d99a6c42,#d99a6c12 70%)}.row.you{background:linear-gradient(90deg,#9d6bff33,#9d6bff0d 70%);min-height:40px}.row.you:after{box-shadow:none;transition:background .25s ease,box-shadow .25s ease}.row.you:hover:after{background:var(--violet);box-shadow:0 0 14px 1px #9d6bff80}.row.you:hover{background:linear-gradient(90deg,#9d6bff42,#9d6bff12 70%)}.rank{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-dim)}.col-rank os-leaderboard-casino-medal-coin{--coin-text-scale: 2;margin-left:-5px}.player{display:flex;align-items:center;gap:10px;min-width:0;width:100%}.avatar{flex:none;width:40px;height:40px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:color-mix(in srgb,var(--violet) 18%,var(--surface-solid));box-shadow:0 0 0 1px #ffffff1a inset}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.who{min-width:0;display:flex;flex-direction:column;gap:3px}.username{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap}.you-tag{margin-left:6px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:var(--violet-soft);color:var(--violet);border:1px solid rgba(157,107,255,.5);vertical-align:1px}.prize-sub{display:flex;align-items:center;gap:6px;min-width:0}.prize-sub .prize-label{font-size:11px;font-weight:600;color:var(--violet);white-space:nowrap}.prize-sub .prize-icon--table{flex:none;display:grid;place-items:center;width:14px;height:14px;min-width:14px;line-height:0}.prize-sub .prize-icon--table svg{width:14px;height:14px}.prize-sub os-leaderboard-casino-medal-coin{flex:none;display:block;width:16px;height:16px;line-height:0;--coin-text-scale: 1.6}.col-win-rate,.col-games{font-family:var(--font-mono);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-dim)}.col-bet{font-family:var(--font-mono);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--gold)}.col-points{font-family:var(--font-mono);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-dim)}.col-points b{font-weight:700;color:var(--text)}.col-rank-change{font-variant-numeric:tabular-nums}.chip{display:inline-flex;align-items:center;gap:3px;padding:3px 7px 3px 5px;border-radius:7px;font-family:var(--font-mono);font-weight:700;font-size:12px;line-height:1}.chip svg{width:16px;height:16px;flex-shrink:0}.chip.up{color:#00b200;background:#00b2001f}.chip.down{color:#c20000;background:#c200001f}.chip.flat{color:var(--text-faint)}.empty{grid-column:1/-1;padding:24px 16px;text-align:center;font-size:13px;color:var(--text-dim)}.divider{grid-column:1/-1;position:sticky;left:0;z-index:4;width:var(--table-scrollport-width, 100%);max-width:var(--table-scrollport-width, 100%);box-sizing:border-box;padding:11px 16px;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);background:#ffffff04;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.cta{position:relative;overflow:hidden;display:block;width:100%;margin-top:16px;border:none;cursor:pointer;font-family:var(--font-display);font-size:15.5px;font-weight:800;letter-spacing:.01em;color:#1c1306;background:linear-gradient(120deg,var(--gold-strong) 0%,var(--gold) 45%,var(--gold-deep) 100%);padding:16px 22px;border-radius:15px;box-shadow:var(--shadow-gold);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.cta:after{content:"";position:absolute;top:0;left:-75%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-18deg);animation:cta-sweep 3.2s ease-in-out infinite}@keyframes cta-sweep{0%,60%{left:-75%}90%,to{left:125%}}.cta:hover{transform:translateY(-2px);box-shadow:0 18px 52px -14px var(--gold-glow)}@media(max-width:640px){.table-head,.row{padding:10px 16px 10px var(--table-pad-l)}.table-head .col-rank,.table-head .col-player,.table-head .col-bet,.table-head .col-points,.table-head .col-win-rate,.table-head .col-games,.table-head .col-rank-change{font-size:10px;letter-spacing:.1em}.rank,.col-bet,.col-points,.col-win-rate,.col-games,.username{font-size:12px}.avatar{width:32px;height:32px}.medallion{width:26px;height:26px;font-size:11px}.player{gap:8px}}';
|
|
2
|
+
export {
|
|
3
|
+
a as default
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=table-section.scss.js.map
|
package/dist/components/os-leaderboard-casino/sections/table-section/table-section.scss.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { OsLeaderboardCasinoLayout } from '../types/sections.js';
|
|
2
|
+
import { OsLeaderboardCasinoState } from '../types/state.js';
|
|
3
|
+
/** Maps facade state into the glam layout shell. */
|
|
4
|
+
export declare class AdapterService {
|
|
5
|
+
toLayout(state: OsLeaderboardCasinoState): OsLeaderboardCasinoLayout;
|
|
6
|
+
applyThemeVars(host: HTMLElement, state: OsLeaderboardCasinoState): void;
|
|
7
|
+
private buildLayout;
|
|
8
|
+
private isEnabled;
|
|
9
|
+
private mainOrder;
|
|
10
|
+
}
|
|
11
|
+
export declare const adapterService: AdapterService;
|