@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
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
@use 'sass:map';
|
|
2
|
-
|
|
3
|
-
// Canonical palette maps — values are CSS variables with compile-time fallbacks.
|
|
4
|
-
// Runtime: set the same keys on <sf-leaderboard> via applySfLeaderboardTheme().
|
|
5
|
-
|
|
6
|
-
$color-base: (
|
|
7
|
-
4: var(--color-base-4, #00061a),
|
|
8
|
-
3: var(--color-base-3, #000c35),
|
|
9
|
-
2: var(--color-base-2, #00114f),
|
|
10
|
-
1: var(--color-base-1, #0a0c14),
|
|
11
|
-
);
|
|
12
|
-
|
|
13
|
-
$color-primary: (
|
|
14
|
-
3: var(--color-primary-3, linear-gradient(256deg, #ffeec2 0%, #ffc431 100%)),
|
|
15
|
-
2: var(--color-primary-2, #00e5ff),
|
|
16
|
-
1: var(--color-primary-1, #00d4ff),
|
|
17
|
-
);
|
|
18
|
-
|
|
19
|
-
$color-semantic: (
|
|
20
|
-
success: var(--color-success, #00d26a),
|
|
21
|
-
warning: var(--color-warning, #ffa502),
|
|
22
|
-
error: var(--color-error, #ff4757),
|
|
23
|
-
informative: var(--color-informative, #2388fb),
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
$color-neutral: var(--color-neutral, #f0f0f5);
|
|
27
|
-
|
|
28
|
-
$color-surface: (
|
|
29
|
-
divider: var(--color-surface-divider, rgba(42, 47, 66, 0.55)),
|
|
30
|
-
muted: var(--color-surface-muted, #808090),
|
|
31
|
-
success-bright: var(--color-surface-success-bright, #15bf81),
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
// Placement (1st / 2nd / 3rd) — overridable per slot role
|
|
35
|
-
$place-first-icon: var(--place-first-table-icon, #ffd700);
|
|
36
|
-
$place-first-podium-slot: var(--place-first-podium-slot, #ffd700);
|
|
37
|
-
$place-first-podium-number: var(--place-first-podium-number, #ffd700);
|
|
38
|
-
|
|
39
|
-
$place-second-icon: var(--place-second-table-icon, #c0c0c0);
|
|
40
|
-
$place-second-podium-slot: var(--place-second-podium-slot, #c0c0c0);
|
|
41
|
-
$place-second-podium-number: var(--place-second-podium-number, #c0c0c0);
|
|
42
|
-
|
|
43
|
-
$place-third-icon: var(--place-third-table-icon, #cd7f32);
|
|
44
|
-
$place-third-podium-slot: var(--place-third-podium-slot, #cd7f32);
|
|
45
|
-
$place-third-podium-number: var(--place-third-podium-number, #cd7f32);
|
|
46
|
-
|
|
47
|
-
@function base($step) {
|
|
48
|
-
@return map.get($color-base, $step);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@function primary($step) {
|
|
52
|
-
@return map.get($color-primary, $step);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
@function semantic($name) {
|
|
56
|
-
@return map.get($color-semantic, $name);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
@function neutral() {
|
|
60
|
-
@return $color-neutral;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
@function surface($name) {
|
|
64
|
-
@return map.get($color-surface, $name);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
@function place-first-icon() {
|
|
68
|
-
@return $place-first-icon;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
@function place-first-podium-slot() {
|
|
72
|
-
@return $place-first-podium-slot;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
@function place-first-podium-number() {
|
|
76
|
-
@return $place-first-podium-number;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
@function place-second-icon() {
|
|
80
|
-
@return $place-second-icon;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
@function place-second-podium-slot() {
|
|
84
|
-
@return $place-second-podium-slot;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
@function place-second-podium-number() {
|
|
88
|
-
@return $place-second-podium-number;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
@function place-third-icon() {
|
|
92
|
-
@return $place-third-icon;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
@function place-third-podium-slot() {
|
|
96
|
-
@return $place-third-podium-slot;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
@function place-third-podium-number() {
|
|
100
|
-
@return $place-third-podium-number;
|
|
101
|
-
}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
@use 'colors' as c;
|
|
2
|
-
|
|
3
|
-
:host {
|
|
4
|
-
/* ── Semantic aliases (derived from canonical --color-* tokens) ── */
|
|
5
|
-
--background: #{c.base(1)};
|
|
6
|
-
--foreground: #{c.neutral()};
|
|
7
|
-
--card: #{c.base(2)};
|
|
8
|
-
--card-foreground: #{c.neutral()};
|
|
9
|
-
--primary: #{c.primary(1)};
|
|
10
|
-
--primary-rgb: var(--color-primary-1-rgb, 0, 212, 255);
|
|
11
|
-
--primary-foreground: #{c.base(3)};
|
|
12
|
-
--secondary: #{c.base(2)};
|
|
13
|
-
--secondary-foreground: #{c.neutral()};
|
|
14
|
-
--muted: #{c.base(2)};
|
|
15
|
-
--muted-foreground: #{c.surface(muted)};
|
|
16
|
-
--accent: #{c.primary(2)};
|
|
17
|
-
--accent-foreground: #{c.base(3)};
|
|
18
|
-
--destructive: #{c.semantic(error)};
|
|
19
|
-
--destructive-rgb: var(--color-error-rgb, 255, 71, 87);
|
|
20
|
-
--border: #{c.base(2)};
|
|
21
|
-
--border-subtle: #{c.surface(divider)};
|
|
22
|
-
--success: #{c.semantic(success)};
|
|
23
|
-
--success-rgb: var(--color-success-rgb, 0, 210, 106);
|
|
24
|
-
--warning: #{c.semantic(warning)};
|
|
25
|
-
--warning-rgb: var(--color-warning-rgb, 255, 165, 2);
|
|
26
|
-
--informative: #{c.semantic(informative)};
|
|
27
|
-
|
|
28
|
-
/* Placement → legacy medal aliases */
|
|
29
|
-
--gold: #{c.place-first-icon()};
|
|
30
|
-
--gold-rgb: var(--place-first-table-icon-rgb, 255, 215, 0);
|
|
31
|
-
--silver: #{c.place-second-icon()};
|
|
32
|
-
--silver-rgb: var(--place-second-table-icon-rgb, 192, 192, 192);
|
|
33
|
-
--bronze: #{c.place-third-icon()};
|
|
34
|
-
--bronze-rgb: var(--place-third-table-icon-rgb, 205, 127, 50);
|
|
35
|
-
|
|
36
|
-
--radius: 12px;
|
|
37
|
-
--radius-sm: 8px;
|
|
38
|
-
--radius-lg: 16px;
|
|
39
|
-
--font-sans: var(--font-primary, 'Inter', system-ui, sans-serif);
|
|
40
|
-
--transition-fast: 0.2s ease;
|
|
41
|
-
--transition-base: 0.3s ease;
|
|
42
|
-
|
|
43
|
-
--surface-gradient: linear-gradient(145deg, #{c.base(2)} 0%, #{c.base(1)} 100%);
|
|
44
|
-
--surface-border-color: color-mix(in srgb, #{c.primary(1)} 18%, transparent);
|
|
45
|
-
--surface-border-hover: color-mix(in srgb, #{c.primary(1)} 35%, transparent);
|
|
46
|
-
--surface-radius: var(--radius-lg);
|
|
47
|
-
--surface-padding: clamp(12px, 2vw, 18px);
|
|
48
|
-
--surface-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
|
|
49
|
-
--surface-shadow-hover: 0 0 24px color-mix(in srgb, #{c.primary(1)} 12%, transparent);
|
|
50
|
-
|
|
51
|
-
--inset-bg: color-mix(in srgb, #{c.neutral()} 3%, transparent);
|
|
52
|
-
--inset-border: color-mix(in srgb, #{c.neutral()} 8%, transparent);
|
|
53
|
-
--inset-radius: var(--radius-sm);
|
|
54
|
-
--inset-hover-bg: color-mix(in srgb, #{c.primary(1)} 6%, transparent);
|
|
55
|
-
--inset-hover-border: color-mix(in srgb, #{c.primary(1)} 22%, transparent);
|
|
56
|
-
|
|
57
|
-
--accent-soft: color-mix(in srgb, #{c.primary(1)} 10%, transparent);
|
|
58
|
-
--accent-soft-strong: color-mix(in srgb, #{c.primary(1)} 18%, transparent);
|
|
59
|
-
--accent-border: color-mix(in srgb, #{c.primary(1)} 28%, transparent);
|
|
60
|
-
--accent-glow: color-mix(in srgb, #{c.primary(1)} 45%, transparent);
|
|
61
|
-
--accent-gradient: #{c.primary(3)};
|
|
62
|
-
--accent-text-glow: 0 0 16px color-mix(in srgb, #{c.primary(1)} 55%, transparent),
|
|
63
|
-
0 0 32px color-mix(in srgb, #{c.primary(1)} 28%, transparent);
|
|
64
|
-
|
|
65
|
-
--medal-gold-bg: color-mix(in srgb, #{c.place-first-icon()} 22%, transparent);
|
|
66
|
-
--medal-gold-border: color-mix(in srgb, #{c.place-first-icon()} 50%, transparent);
|
|
67
|
-
--medal-silver-bg: color-mix(in srgb, #{c.place-second-icon()} 18%, transparent);
|
|
68
|
-
--medal-silver-border: color-mix(in srgb, #{c.place-second-icon()} 40%, transparent);
|
|
69
|
-
--medal-bronze-bg: color-mix(in srgb, #{c.place-third-icon()} 18%, transparent);
|
|
70
|
-
--medal-bronze-border: color-mix(in srgb, #{c.place-third-icon()} 40%, transparent);
|
|
71
|
-
--medal-gold-gradient: linear-gradient(135deg, #{c.place-first-icon()} 0%, #{c.primary(1)} 100%);
|
|
72
|
-
--medal-silver-gradient: linear-gradient(135deg, #{c.place-second-icon()} 0%, #{c.base(2)} 100%);
|
|
73
|
-
--medal-bronze-gradient: linear-gradient(135deg, #{c.place-third-icon()} 0%, #{c.base(3)} 100%);
|
|
74
|
-
--medal-avatar-fg: #{c.base(3)};
|
|
75
|
-
--medal-gold-glow: color-mix(in srgb, #{c.place-first-icon()} 60%, transparent);
|
|
76
|
-
--medal-silver-glow: color-mix(in srgb, #{c.place-second-icon()} 50%, transparent);
|
|
77
|
-
--medal-bronze-glow: color-mix(in srgb, #{c.place-third-icon()} 50%, transparent);
|
|
78
|
-
|
|
79
|
-
--badge-success-bg: color-mix(in srgb, #{c.semantic(success)} 20%, transparent);
|
|
80
|
-
--badge-success-border: color-mix(in srgb, #{c.semantic(success)} 35%, transparent);
|
|
81
|
-
--badge-warning-bg: color-mix(in srgb, #{c.semantic(warning)} 20%, transparent);
|
|
82
|
-
--badge-warning-border: color-mix(in srgb, #{c.semantic(warning)} 35%, transparent);
|
|
83
|
-
--badge-accent-bg: var(--accent-soft);
|
|
84
|
-
--badge-accent-border: var(--accent-border);
|
|
85
|
-
|
|
86
|
-
font-family: var(--font-sans);
|
|
87
|
-
color: var(--foreground);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
* {
|
|
91
|
-
box-sizing: border-box;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.card {
|
|
95
|
-
position: relative;
|
|
96
|
-
overflow: hidden;
|
|
97
|
-
box-sizing: border-box;
|
|
98
|
-
background: var(--surface-gradient);
|
|
99
|
-
border: 1px solid var(--surface-border-color);
|
|
100
|
-
border-radius: var(--surface-radius);
|
|
101
|
-
box-shadow: var(--surface-shadow);
|
|
102
|
-
transition:
|
|
103
|
-
border-color var(--transition-fast),
|
|
104
|
-
box-shadow var(--transition-fast);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.card:hover {
|
|
108
|
-
border-color: var(--surface-border-hover);
|
|
109
|
-
box-shadow: var(--surface-shadow-hover);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
.stat-item,
|
|
113
|
-
.avatar-section,
|
|
114
|
-
.percentile-badge {
|
|
115
|
-
background: var(--inset-bg);
|
|
116
|
-
border: 1px solid var(--inset-border);
|
|
117
|
-
border-radius: var(--inset-radius);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
.stat-item:hover {
|
|
121
|
-
background: var(--inset-hover-bg);
|
|
122
|
-
border-color: var(--inset-hover-border);
|
|
123
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { scss } from '../../../../lib/lit/scss.js';
|
|
2
|
-
import type { CSSResult } from 'lit';
|
|
3
|
-
import sharedStyles from './scss/shared.scss?inline';
|
|
4
|
-
|
|
5
|
-
/** Shared stylesheet for leaderboard components (semantic aliases + .card). */
|
|
6
|
-
export const sfLeaderboardTheme: CSSResult = scss(sharedStyles);
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { hexToRgbChannels } from './hex-to-rgb.js';
|
|
2
|
-
import type {
|
|
3
|
-
SfLeaderboardTheme,
|
|
4
|
-
TableColumnId,
|
|
5
|
-
} from './types.js';
|
|
6
|
-
|
|
7
|
-
const TABLE_COLUMN_IDS: TableColumnId[] = [
|
|
8
|
-
'rank',
|
|
9
|
-
'player',
|
|
10
|
-
'games',
|
|
11
|
-
'winRate',
|
|
12
|
-
'streak',
|
|
13
|
-
'winnings',
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
function setRgbFromHex(
|
|
17
|
-
vars: Record<string, string>,
|
|
18
|
-
cssKey: string,
|
|
19
|
-
hex: string | undefined,
|
|
20
|
-
): void {
|
|
21
|
-
if (!hex || hex.includes('gradient')) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
const channels = hexToRgbChannels(hex);
|
|
25
|
-
if (channels) {
|
|
26
|
-
vars[`${cssKey}-rgb`] = channels;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Flattens a theme object into CSS custom properties for the leaderboard host.
|
|
32
|
-
* Keys match `styles/_colors.scss` (`--color-base-1`, `--place-first-table-icon`, …).
|
|
33
|
-
*/
|
|
34
|
-
export function themeToCssVars(theme: SfLeaderboardTheme): Record<string, string> {
|
|
35
|
-
const { palette, typography, placement, table } = theme;
|
|
36
|
-
const vars: Record<string, string> = {};
|
|
37
|
-
|
|
38
|
-
for (const step of ['1', '2', '3', '4'] as const) {
|
|
39
|
-
vars[`--color-base-${step}`] = palette.base[step];
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
for (const step of ['1', '2', '3'] as const) {
|
|
43
|
-
vars[`--color-primary-${step}`] = palette.primary[step];
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
vars['--color-success'] = palette.semantic.success;
|
|
47
|
-
vars['--color-warning'] = palette.semantic.warning;
|
|
48
|
-
vars['--color-error'] = palette.semantic.error;
|
|
49
|
-
if (palette.semantic.informative) {
|
|
50
|
-
vars['--color-informative'] = palette.semantic.informative;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
vars['--color-neutral'] = palette.neutral;
|
|
54
|
-
vars['--color-surface-divider'] = palette.surface.divider;
|
|
55
|
-
vars['--color-surface-muted'] = palette.surface.muted;
|
|
56
|
-
if (palette.surface.successBright) {
|
|
57
|
-
vars['--color-surface-success-bright'] = palette.surface.successBright;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
vars['--font-primary'] = typography.primary;
|
|
61
|
-
vars['--font-secondary'] = typography.secondary;
|
|
62
|
-
if (typography.mono) {
|
|
63
|
-
vars['--font-mono'] = typography.mono;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
const placements = [
|
|
67
|
-
['first', placement.first],
|
|
68
|
-
['second', placement.second],
|
|
69
|
-
['third', placement.third],
|
|
70
|
-
] as const;
|
|
71
|
-
|
|
72
|
-
for (const [key, p] of placements) {
|
|
73
|
-
vars[`--place-${key}-table-icon`] = p.tableIcon;
|
|
74
|
-
vars[`--place-${key}-podium-slot`] = p.podiumSlot;
|
|
75
|
-
vars[`--place-${key}-podium-number`] = p.podiumNumber;
|
|
76
|
-
setRgbFromHex(vars, `--place-${key}-table-icon`, p.tableIcon);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
setRgbFromHex(vars, '--color-primary-1', palette.primary['1']);
|
|
80
|
-
setRgbFromHex(vars, '--color-success', palette.semantic.success);
|
|
81
|
-
setRgbFromHex(vars, '--color-warning', palette.semantic.warning);
|
|
82
|
-
setRgbFromHex(vars, '--color-error', palette.semantic.error);
|
|
83
|
-
|
|
84
|
-
for (const colId of TABLE_COLUMN_IDS) {
|
|
85
|
-
const col = table.columns[colId];
|
|
86
|
-
if (!col?.enabled) {
|
|
87
|
-
continue;
|
|
88
|
-
}
|
|
89
|
-
const kebab = colId.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`);
|
|
90
|
-
if (col.color) {
|
|
91
|
-
vars[`--table-col-${kebab}-color`] = col.color;
|
|
92
|
-
}
|
|
93
|
-
if (col.fontSize) {
|
|
94
|
-
vars[`--table-col-${kebab}-font-size`] = col.fontSize;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
return vars;
|
|
99
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "sf-leaderboard-default",
|
|
3
|
-
"name": "SF Leaderboard Default",
|
|
4
|
-
"palette": {
|
|
5
|
-
"base": {
|
|
6
|
-
"4": "#060810",
|
|
7
|
-
"3": "#0a0c14",
|
|
8
|
-
"2": "#12151f",
|
|
9
|
-
"1": "#161a26"
|
|
10
|
-
},
|
|
11
|
-
"primary": {
|
|
12
|
-
"1": "#00d4ff",
|
|
13
|
-
"2": "#00e5ff",
|
|
14
|
-
"3": "linear-gradient(135deg, #00d4ff 0%, #00e5ff 100%)"
|
|
15
|
-
},
|
|
16
|
-
"semantic": {
|
|
17
|
-
"success": "#00d26a",
|
|
18
|
-
"warning": "#ffa502",
|
|
19
|
-
"error": "#ff4757",
|
|
20
|
-
"informative": "#2388fb"
|
|
21
|
-
},
|
|
22
|
-
"neutral": "#f0f0f5",
|
|
23
|
-
"surface": {
|
|
24
|
-
"divider": "rgba(42, 47, 66, 0.55)",
|
|
25
|
-
"muted": "#808090",
|
|
26
|
-
"successBright": "#15bf81"
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
"typography": {
|
|
30
|
-
"primary": "'Inter', system-ui, -apple-system, sans-serif",
|
|
31
|
-
"secondary": "'Inter', system-ui, -apple-system, sans-serif",
|
|
32
|
-
"mono": "'JetBrains Mono', monospace"
|
|
33
|
-
},
|
|
34
|
-
"placement": {
|
|
35
|
-
"first": {
|
|
36
|
-
"tableIcon": "#ffd700",
|
|
37
|
-
"podiumSlot": "#ffd700",
|
|
38
|
-
"podiumNumber": "#ffd700"
|
|
39
|
-
},
|
|
40
|
-
"second": {
|
|
41
|
-
"tableIcon": "#c0c0c0",
|
|
42
|
-
"podiumSlot": "#c0c0c0",
|
|
43
|
-
"podiumNumber": "#c0c0c0"
|
|
44
|
-
},
|
|
45
|
-
"third": {
|
|
46
|
-
"tableIcon": "#cd7f32",
|
|
47
|
-
"podiumSlot": "#cd7f32",
|
|
48
|
-
"podiumNumber": "#cd7f32"
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
"table": {
|
|
52
|
-
"columns": {
|
|
53
|
-
"rank": { "enabled": false },
|
|
54
|
-
"player": { "enabled": false },
|
|
55
|
-
"games": { "enabled": false },
|
|
56
|
-
"winRate": { "enabled": false },
|
|
57
|
-
"streak": { "enabled": false },
|
|
58
|
-
"winnings": { "enabled": false }
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
"labels": {}
|
|
62
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "sf-leaderboard-neon-sunset",
|
|
3
|
-
"name": "SF Leaderboard Neon Sunset",
|
|
4
|
-
"palette": {
|
|
5
|
-
"base": {
|
|
6
|
-
"4": "#140B1A",
|
|
7
|
-
"3": "#1E1227",
|
|
8
|
-
"2": "#2A1835",
|
|
9
|
-
"1": "#342044"
|
|
10
|
-
},
|
|
11
|
-
"primary": {
|
|
12
|
-
"1": "#FF7A18",
|
|
13
|
-
"2": "#FF3D81",
|
|
14
|
-
"3": "linear-gradient(135deg, #FF7A18 0%, #FF3D81 55%, #9B5CFF 100%)"
|
|
15
|
-
},
|
|
16
|
-
"semantic": {
|
|
17
|
-
"success": "#3DFFB5",
|
|
18
|
-
"warning": "#FFD166",
|
|
19
|
-
"error": "#FF5A7A",
|
|
20
|
-
"informative": "#6EC5FF"
|
|
21
|
-
},
|
|
22
|
-
"neutral": "#F8F4FF",
|
|
23
|
-
"surface": {
|
|
24
|
-
"divider": "rgba(255, 255, 255, 0.08)",
|
|
25
|
-
"muted": "#B39BC8",
|
|
26
|
-
"successBright": "#7BFFCB"
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
"typography": {
|
|
30
|
-
"primary": "'Space Grotesk', system-ui, sans-serif",
|
|
31
|
-
"secondary": "'Inter', system-ui, sans-serif",
|
|
32
|
-
"mono": "'JetBrains Mono', monospace"
|
|
33
|
-
},
|
|
34
|
-
"placement": {
|
|
35
|
-
"first": {
|
|
36
|
-
"tableIcon": "#FFB703",
|
|
37
|
-
"podiumSlot": "#FFB703",
|
|
38
|
-
"podiumNumber": "#FFF3B0"
|
|
39
|
-
},
|
|
40
|
-
"second": {
|
|
41
|
-
"tableIcon": "#8ECAE6",
|
|
42
|
-
"podiumSlot": "#8ECAE6",
|
|
43
|
-
"podiumNumber": "#D9F3FF"
|
|
44
|
-
},
|
|
45
|
-
"third": {
|
|
46
|
-
"tableIcon": "#FB8500",
|
|
47
|
-
"podiumSlot": "#FB8500",
|
|
48
|
-
"podiumNumber": "#FFD6A5"
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
"table": {
|
|
52
|
-
"columns": {
|
|
53
|
-
"rank": { "enabled": true },
|
|
54
|
-
"player": { "enabled": true },
|
|
55
|
-
"games": { "enabled": true },
|
|
56
|
-
"winRate": { "enabled": true },
|
|
57
|
-
"streak": { "enabled": true },
|
|
58
|
-
"winnings": { "enabled": true }
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
"labels": {}
|
|
62
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/** Base scale: 4 = deepest, 1 = primary surface */
|
|
2
|
-
export type ColorBaseStep = '1' | '2' | '3' | '4';
|
|
3
|
-
|
|
4
|
-
/** Primary scale: 1 = main brand, 3 = gradient / highlight */
|
|
5
|
-
export type ColorPrimaryStep = '1' | '2' | '3';
|
|
6
|
-
|
|
7
|
-
export type TableColumnId =
|
|
8
|
-
| 'rank'
|
|
9
|
-
| 'player'
|
|
10
|
-
| 'games'
|
|
11
|
-
| 'winRate'
|
|
12
|
-
| 'streak'
|
|
13
|
-
| 'winnings';
|
|
14
|
-
|
|
15
|
-
/** Per-column table styling (header + body cells). */
|
|
16
|
-
export interface SfLeaderboardTableColumnTheme {
|
|
17
|
-
enabled: boolean;
|
|
18
|
-
color?: string;
|
|
19
|
-
fontSize?: string;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/** Colors for a podium / table rank tier. */
|
|
23
|
-
export interface SfLeaderboardPlacementTheme {
|
|
24
|
-
tableIcon: string;
|
|
25
|
-
podiumSlot: string;
|
|
26
|
-
podiumNumber: string;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export interface SfLeaderboardPaletteTheme {
|
|
30
|
-
base: Record<ColorBaseStep, string>;
|
|
31
|
-
primary: Record<ColorPrimaryStep, string>;
|
|
32
|
-
semantic: {
|
|
33
|
-
success: string;
|
|
34
|
-
warning: string;
|
|
35
|
-
error: string;
|
|
36
|
-
informative?: string;
|
|
37
|
-
};
|
|
38
|
-
neutral: string;
|
|
39
|
-
surface: {
|
|
40
|
-
divider: string;
|
|
41
|
-
muted: string;
|
|
42
|
-
successBright?: string;
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export interface SfLeaderboardTypographyTheme {
|
|
47
|
-
primary: string;
|
|
48
|
-
secondary: string;
|
|
49
|
-
mono?: string;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Full theme contract for `<sf-leaderboard>`.
|
|
54
|
-
* Clients load JSON (or build this object) and pass it to the `theme` property.
|
|
55
|
-
*/
|
|
56
|
-
export interface SfLeaderboardTheme {
|
|
57
|
-
id: string;
|
|
58
|
-
name: string;
|
|
59
|
-
palette: SfLeaderboardPaletteTheme;
|
|
60
|
-
typography: SfLeaderboardTypographyTheme;
|
|
61
|
-
placement: {
|
|
62
|
-
first: SfLeaderboardPlacementTheme;
|
|
63
|
-
second: SfLeaderboardPlacementTheme;
|
|
64
|
-
third: SfLeaderboardPlacementTheme;
|
|
65
|
-
};
|
|
66
|
-
table: {
|
|
67
|
-
columns: Partial<Record<TableColumnId, SfLeaderboardTableColumnTheme>>;
|
|
68
|
-
};
|
|
69
|
-
/** Optional copy overrides (not applied to CSS) */
|
|
70
|
-
labels?: Record<string, string>;
|
|
71
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
:host {
|
|
2
|
-
display: inline-block;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.avatar {
|
|
6
|
-
display: flex;
|
|
7
|
-
align-items: center;
|
|
8
|
-
justify-content: center;
|
|
9
|
-
width: 32px;
|
|
10
|
-
height: 32px;
|
|
11
|
-
border-radius: 50%;
|
|
12
|
-
border: 2px solid var(--border);
|
|
13
|
-
background: var(--card);
|
|
14
|
-
color: var(--foreground);
|
|
15
|
-
font-size: 0.7rem;
|
|
16
|
-
font-weight: 700;
|
|
17
|
-
overflow: hidden;
|
|
18
|
-
|
|
19
|
-
img {
|
|
20
|
-
width: 100%;
|
|
21
|
-
height: 100%;
|
|
22
|
-
object-fit: cover;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { html, LitElement } from 'lit';
|
|
2
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
3
|
-
import { SF_LIVE_FEED_AVATAR_TAG } from '../../constants.js';
|
|
4
|
-
import { sfLiveFeedTheme } from '../../styles/theme.js';
|
|
5
|
-
import { getInitials } from '../../utils.js';
|
|
6
|
-
import type { AvatarHost } from './avatar.host.js';
|
|
7
|
-
import renderTemplate from './avatar.html?lit-html';
|
|
8
|
-
import styles from './avatar.scss?inline';
|
|
9
|
-
import { scss } from '../../../../lib/lit/scss.js';
|
|
10
|
-
|
|
11
|
-
@customElement(SF_LIVE_FEED_AVATAR_TAG)
|
|
12
|
-
export class SfLiveFeedAvatar extends LitElement implements AvatarHost {
|
|
13
|
-
static styles = [sfLiveFeedTheme, scss(styles)];
|
|
14
|
-
|
|
15
|
-
@property({ type: String }) username = '';
|
|
16
|
-
@property({ type: String }) avatar = '';
|
|
17
|
-
|
|
18
|
-
renderAvatarContent() {
|
|
19
|
-
return this.avatar
|
|
20
|
-
? html`<img src="${this.avatar}" alt="${this.username}" />`
|
|
21
|
-
: html`<span>${getInitials(this.username)}</span>`;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
render() {
|
|
25
|
-
return renderTemplate(this);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<div class="feed-container">
|
|
2
|
-
<div class="feed-header">
|
|
3
|
-
<div class="header-left">
|
|
4
|
-
<div class="live-dot"></div>
|
|
5
|
-
<span class="header-title">${host.feedTitle}</span>
|
|
6
|
-
</div>
|
|
7
|
-
<span class="event-count">${host.activities.length} events</span>
|
|
8
|
-
</div>
|
|
9
|
-
<div class="feed-body">${host.renderActivities()}</div>
|
|
10
|
-
</div>
|