@oddsmith/ui 0.0.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.js +9 -0
- package/dist/components/os-leaderboard-casino/constants/defaults.js.map +1 -0
- package/dist/components/os-leaderboard-casino/constants/tags.js +15 -0
- package/dist/components/os-leaderboard-casino/constants/tags.js.map +1 -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.js +39 -0
- package/dist/components/os-leaderboard-casino/index.js.map +1 -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.js +64 -0
- package/dist/components/os-leaderboard-casino/integration/assets-context.js.map +1 -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/resolve-input.js +99 -0
- package/dist/components/os-leaderboard-casino/integration/resolve-input.js.map +1 -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.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.js +89 -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.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 +38 -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/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/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 +159 -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.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 +73 -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/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.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.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.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/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 +134 -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/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 +67 -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.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 +182 -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.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.js +192 -0
- package/dist/components/os-leaderboard-casino/services/icon.service.js.map +1 -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.js +179 -0
- package/dist/components/os-leaderboard-casino/theme/styles.js.map +1 -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.js +20 -0
- package/dist/components/os-leaderboard-casino/theme/vip-mark.js.map +1 -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.js +8 -0
- package/dist/components/os-leaderboard-casino/types/events.js.map +1 -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/index.d.ts +734 -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.js +7 -0
- package/dist/shared/lib/lit/safe-custom-element.js.map +1 -0
- package/dist/shared/lib/lit/scss.js +8 -0
- package/dist/shared/lib/lit/scss.js.map +1 -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 +36 -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.host.ts +0 -3
- 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,152 @@
|
|
|
1
|
+
import { LitElement as h, nothing as e, html as t } from "lit";
|
|
2
|
+
import { property as p } from "lit/decorators.js";
|
|
3
|
+
import { Component as m } from "../../../shared/lib/lit/component.js";
|
|
4
|
+
import { scss as b } from "../../../shared/lib/lit/scss.js";
|
|
5
|
+
import { OS_LEADERBOARD_CASINO_TAG as f } from "../constants/tags.js";
|
|
6
|
+
import { osLeaderboardCasinoTheme as y } from "../theme/styles.js";
|
|
7
|
+
import { EMPTY_OS_LEADERBOARD_CASINO_STATE as L } from "../types/state.js";
|
|
8
|
+
import { iconService as v } from "../services/icon.service.js";
|
|
9
|
+
import { resolveLeaderboardCasinoInput as S } from "../integration/resolve-input.js";
|
|
10
|
+
import { loadLeaderboardCasinoAssets as g } from "../integration/load-assets.js";
|
|
11
|
+
import O from "./os-leaderboard-casino.html.js";
|
|
12
|
+
import T from "./os-leaderboard-casino.scss.js";
|
|
13
|
+
import "../sections/marquee-section/marquee-section.js";
|
|
14
|
+
import "../sections/events-banner/events-banner.js";
|
|
15
|
+
import "../sections/hero-section/hero-section.js";
|
|
16
|
+
import "../sections/prize-section/prize-section.js";
|
|
17
|
+
import "../sections/stats-section/stats-section.js";
|
|
18
|
+
import "../sections/games-section/games-section.js";
|
|
19
|
+
import "../sections/climb-section/climb-section.js";
|
|
20
|
+
import "../sections/table-section/table-section.js";
|
|
21
|
+
import "../sections/footer-section/footer-section.js";
|
|
22
|
+
import "../sections/legals-section/legals-section.js";
|
|
23
|
+
import { adapterService as c } from "../services/adapter.service.js";
|
|
24
|
+
var _ = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, n = (s, o, l, i) => {
|
|
25
|
+
for (var r = i > 1 ? void 0 : i ? $(o, l) : o, d = s.length - 1, u; d >= 0; d--)
|
|
26
|
+
(u = s[d]) && (r = (i ? u(o, l, r) : u(r)) || r);
|
|
27
|
+
return i && r && _(o, l, r), r;
|
|
28
|
+
};
|
|
29
|
+
let a = class extends h {
|
|
30
|
+
constructor() {
|
|
31
|
+
super(...arguments), this.assets = null, this.assetsBaseUrl = "", this.input = null, this.state = L, this.uuid = "", this.finished = !1, this.assetsLoadTask = null;
|
|
32
|
+
}
|
|
33
|
+
connectedCallback() {
|
|
34
|
+
super.connectedCallback(), v.load(), this.ensureAssetsLoaded();
|
|
35
|
+
}
|
|
36
|
+
get layout() {
|
|
37
|
+
return c.toLayout(this.state);
|
|
38
|
+
}
|
|
39
|
+
get mainOrder() {
|
|
40
|
+
return this.layout.mainOrder ?? [
|
|
41
|
+
"prize",
|
|
42
|
+
"stats",
|
|
43
|
+
"games",
|
|
44
|
+
"climb",
|
|
45
|
+
"table"
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
async ensureAssetsLoaded() {
|
|
49
|
+
this.assets || this.assetsBaseUrl && (this.assetsLoadTask || (this.assetsLoadTask = g(this.assetsBaseUrl).then((s) => {
|
|
50
|
+
this.assets = s, this.applyInputToState();
|
|
51
|
+
}).finally(() => {
|
|
52
|
+
this.assetsLoadTask = null;
|
|
53
|
+
})), await this.assetsLoadTask);
|
|
54
|
+
}
|
|
55
|
+
applyInputToState() {
|
|
56
|
+
this.input && (this.uuid = this.input.campaign?.uuid ?? "", this.finished = this.input.campaign?.finished ?? !1, this.state = S(this.input, this.assets));
|
|
57
|
+
}
|
|
58
|
+
willUpdate(s) {
|
|
59
|
+
s.has("assetsBaseUrl") && this.assetsBaseUrl && !this.assets && this.ensureAssetsLoaded(), (s.has("input") || s.has("assets")) && this.input && (this.assets || !this.assetsBaseUrl) && this.applyInputToState(), s.has("state") && c.applyThemeVars(this, this.state);
|
|
60
|
+
}
|
|
61
|
+
renderMainSection(s) {
|
|
62
|
+
const { prize: o, stats: l, games: i, climb: r, table: d } = this.layout;
|
|
63
|
+
switch (s) {
|
|
64
|
+
case "prize":
|
|
65
|
+
return o ? t`<os-leaderboard-casino-prize
|
|
66
|
+
.section=${o}
|
|
67
|
+
></os-leaderboard-casino-prize>` : e;
|
|
68
|
+
case "stats":
|
|
69
|
+
return l ? t`<os-leaderboard-casino-stats
|
|
70
|
+
.section=${l}
|
|
71
|
+
></os-leaderboard-casino-stats>` : e;
|
|
72
|
+
case "games":
|
|
73
|
+
return i ? t`<os-leaderboard-casino-games
|
|
74
|
+
.section=${i}
|
|
75
|
+
></os-leaderboard-casino-games>` : e;
|
|
76
|
+
case "climb":
|
|
77
|
+
return r ? t`<os-leaderboard-casino-climb
|
|
78
|
+
.section=${r}
|
|
79
|
+
></os-leaderboard-casino-climb>` : e;
|
|
80
|
+
case "table":
|
|
81
|
+
return d ? t`<os-leaderboard-casino-table
|
|
82
|
+
.section=${d}
|
|
83
|
+
uuid=${this.uuid}
|
|
84
|
+
?finished=${this.finished}
|
|
85
|
+
></os-leaderboard-casino-table>` : e;
|
|
86
|
+
default:
|
|
87
|
+
return e;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
renderMarquee() {
|
|
91
|
+
const { marquee: s } = this.layout;
|
|
92
|
+
return s ? t`<os-leaderboard-casino-marquee
|
|
93
|
+
.section=${s}
|
|
94
|
+
></os-leaderboard-casino-marquee>` : e;
|
|
95
|
+
}
|
|
96
|
+
renderEventsBanner() {
|
|
97
|
+
const { eventsBanner: s } = this.layout;
|
|
98
|
+
return s ? t`<os-leaderboard-casino-events
|
|
99
|
+
.section=${s}
|
|
100
|
+
></os-leaderboard-casino-events>` : e;
|
|
101
|
+
}
|
|
102
|
+
renderHero() {
|
|
103
|
+
const { hero: s } = this.layout;
|
|
104
|
+
return s ? t`<os-leaderboard-casino-hero
|
|
105
|
+
.section=${s}
|
|
106
|
+
></os-leaderboard-casino-hero>` : e;
|
|
107
|
+
}
|
|
108
|
+
renderMainSections() {
|
|
109
|
+
return t`${this.mainOrder.map((s) => this.renderMainSection(s))}`;
|
|
110
|
+
}
|
|
111
|
+
renderFooter() {
|
|
112
|
+
const { footer: s } = this.layout;
|
|
113
|
+
return s?.text ? t`<os-leaderboard-casino-footer
|
|
114
|
+
.section=${s}
|
|
115
|
+
></os-leaderboard-casino-footer>` : e;
|
|
116
|
+
}
|
|
117
|
+
renderLegals() {
|
|
118
|
+
const { legals: s } = this.layout;
|
|
119
|
+
return s?.links?.length ? t`<os-leaderboard-casino-legals
|
|
120
|
+
.section=${s}
|
|
121
|
+
></os-leaderboard-casino-legals>` : e;
|
|
122
|
+
}
|
|
123
|
+
render() {
|
|
124
|
+
return O(this);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
a.styles = [y, b(T)];
|
|
128
|
+
n([
|
|
129
|
+
p({ attribute: !1 })
|
|
130
|
+
], a.prototype, "assets", 2);
|
|
131
|
+
n([
|
|
132
|
+
p({ type: String, attribute: "assets-base-url" })
|
|
133
|
+
], a.prototype, "assetsBaseUrl", 2);
|
|
134
|
+
n([
|
|
135
|
+
p({ attribute: !1 })
|
|
136
|
+
], a.prototype, "input", 2);
|
|
137
|
+
n([
|
|
138
|
+
p({ attribute: !1 })
|
|
139
|
+
], a.prototype, "state", 2);
|
|
140
|
+
n([
|
|
141
|
+
p({ type: String })
|
|
142
|
+
], a.prototype, "uuid", 2);
|
|
143
|
+
n([
|
|
144
|
+
p({ type: Boolean })
|
|
145
|
+
], a.prototype, "finished", 2);
|
|
146
|
+
a = n([
|
|
147
|
+
m({ selector: f })
|
|
148
|
+
], a);
|
|
149
|
+
export {
|
|
150
|
+
a as OsLeaderboardCasino
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=os-leaderboard-casino.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"os-leaderboard-casino.js","sources":["../../../../src/components/os-leaderboard-casino/container/os-leaderboard-casino.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport type { PropertyValues } from 'lit';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_TAG } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport {\n EMPTY_OS_LEADERBOARD_CASINO_STATE,\n type OsLeaderboardCasinoState,\n} from '@os-leaderboard-casino/types/state.js';\nimport type { OsLeaderboardCasinoLayout } from '@os-leaderboard-casino/types/sections.js';\nimport { adapterService } from '@os-leaderboard-casino/services/index.js';\nimport { iconService } from '@os-leaderboard-casino/services/icon.service.js';\nimport { resolveLeaderboardCasinoInput } from '@os-leaderboard-casino/integration/resolve-input.js';\nimport { loadLeaderboardCasinoAssets } from '@os-leaderboard-casino/integration/load-assets.js';\nimport type { LeaderboardCasinoAssetsBundle } from '@os-leaderboard-casino/types/assets.js';\nimport type { LeaderboardCasinoInput } from '@os-leaderboard-casino/types/input.js';\nimport type { OsLeaderboardCasinoHost } from './os-leaderboard-casino.host.js';\nimport renderTemplate from './os-leaderboard-casino.html?lit-html';\nimport componentStyles from './os-leaderboard-casino.scss?inline';\nimport '@os-leaderboard-casino/sections/marquee-section/marquee-section.js';\nimport '@os-leaderboard-casino/sections/events-banner/events-banner.js';\nimport '@os-leaderboard-casino/sections/hero-section/hero-section.js';\nimport '@os-leaderboard-casino/sections/prize-section/prize-section.js';\nimport '@os-leaderboard-casino/sections/stats-section/stats-section.js';\nimport '@os-leaderboard-casino/sections/games-section/games-section.js';\nimport '@os-leaderboard-casino/sections/climb-section/climb-section.js';\nimport '@os-leaderboard-casino/sections/table-section/table-section.js';\nimport '@os-leaderboard-casino/sections/footer-section/footer-section.js';\nimport '@os-leaderboard-casino/sections/legals-section/legals-section.js';\n\n/**\n * Config-driven casino leaderboard.\n * Parent provides static JSON via `.assets` or `assets-base-url`.\n * Bundled `assets/fallback/*.json` is used when parent files fail to load.\n */\n@Component({ selector: OS_LEADERBOARD_CASINO_TAG })\nexport class OsLeaderboardCasino\n extends LitElement\n implements OsLeaderboardCasinoHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(componentStyles)];\n\n @property({ attribute: false })\n assets: LeaderboardCasinoAssetsBundle | null = null;\n\n @property({ type: String, attribute: 'assets-base-url' })\n assetsBaseUrl = '';\n\n @property({ attribute: false })\n input: LeaderboardCasinoInput | null = null;\n\n @property({ attribute: false })\n state: OsLeaderboardCasinoState = EMPTY_OS_LEADERBOARD_CASINO_STATE;\n\n @property({ type: String })\n uuid = '';\n\n @property({ type: Boolean })\n finished = false;\n\n private assetsLoadTask: Promise<void> | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n void iconService.load();\n void this.ensureAssetsLoaded();\n }\n\n get layout(): OsLeaderboardCasinoLayout {\n return adapterService.toLayout(this.state);\n }\n\n get mainOrder(): string[] {\n return (\n this.layout.mainOrder ?? [\n 'prize',\n 'stats',\n 'games',\n 'climb',\n 'table',\n ]\n );\n }\n\n private async ensureAssetsLoaded(): Promise<void> {\n if (this.assets) return;\n if (!this.assetsBaseUrl) return;\n\n if (!this.assetsLoadTask) {\n this.assetsLoadTask = loadLeaderboardCasinoAssets(this.assetsBaseUrl)\n .then((bundle) => {\n this.assets = bundle;\n this.applyInputToState();\n })\n .finally(() => {\n this.assetsLoadTask = null;\n });\n }\n\n await this.assetsLoadTask;\n }\n\n private applyInputToState(): void {\n if (!this.input) return;\n this.uuid = this.input.campaign?.uuid ?? '';\n this.finished = this.input.campaign?.finished ?? false;\n this.state = resolveLeaderboardCasinoInput(this.input, this.assets);\n }\n\n protected override willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('assetsBaseUrl') && this.assetsBaseUrl && !this.assets) {\n void this.ensureAssetsLoaded();\n }\n\n if (\n (changed.has('input') || changed.has('assets')) &&\n this.input &&\n (this.assets || !this.assetsBaseUrl)\n ) {\n this.applyInputToState();\n }\n\n if (changed.has('state')) {\n adapterService.applyThemeVars(this, this.state);\n }\n }\n\n private renderMainSection(id: string) {\n const { prize, stats, games, climb, table } = this.layout;\n switch (id) {\n case 'prize':\n return prize\n ? html`<os-leaderboard-casino-prize\n .section=${prize}\n ></os-leaderboard-casino-prize>`\n : nothing;\n case 'stats':\n return stats\n ? html`<os-leaderboard-casino-stats\n .section=${stats}\n ></os-leaderboard-casino-stats>`\n : nothing;\n case 'games':\n return games\n ? html`<os-leaderboard-casino-games\n .section=${games}\n ></os-leaderboard-casino-games>`\n : nothing;\n case 'climb':\n return climb\n ? html`<os-leaderboard-casino-climb\n .section=${climb}\n ></os-leaderboard-casino-climb>`\n : nothing;\n case 'table':\n return table\n ? html`<os-leaderboard-casino-table\n .section=${table}\n uuid=${this.uuid}\n ?finished=${this.finished}\n ></os-leaderboard-casino-table>`\n : nothing;\n default:\n return nothing;\n }\n }\n\n renderMarquee() {\n const { marquee } = this.layout;\n return marquee\n ? html`<os-leaderboard-casino-marquee\n .section=${marquee}\n ></os-leaderboard-casino-marquee>`\n : nothing;\n }\n\n renderEventsBanner() {\n const { eventsBanner } = this.layout;\n return eventsBanner\n ? html`<os-leaderboard-casino-events\n .section=${eventsBanner}\n ></os-leaderboard-casino-events>`\n : nothing;\n }\n\n renderHero() {\n const { hero } = this.layout;\n return hero\n ? html`<os-leaderboard-casino-hero\n .section=${hero}\n ></os-leaderboard-casino-hero>`\n : nothing;\n }\n\n renderMainSections() {\n return html`${this.mainOrder.map((id) => this.renderMainSection(id))}`;\n }\n\n renderFooter() {\n const { footer } = this.layout;\n if (!footer?.text) {\n return nothing;\n }\n return html`<os-leaderboard-casino-footer\n .section=${footer}\n ></os-leaderboard-casino-footer>`;\n }\n\n renderLegals() {\n const { legals } = this.layout;\n if (!legals?.links?.length) return nothing;\n return html`<os-leaderboard-casino-legals\n .section=${legals}\n ></os-leaderboard-casino-legals>`;\n }\n\n protected override render() {\n return renderTemplate(this);\n }\n}\n"],"names":["OsLeaderboardCasino","LitElement","EMPTY_OS_LEADERBOARD_CASINO_STATE","iconService","adapterService","loadLeaderboardCasinoAssets","bundle","resolveLeaderboardCasinoInput","changed","id","prize","stats","games","climb","table","html","nothing","marquee","eventsBanner","hero","footer","legals","renderTemplate","osLeaderboardCasinoTheme","scss","componentStyles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_TAG"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const a = ":host{display:block;width:100%;min-height:100vh;min-height:100dvh;box-sizing:border-box;background:radial-gradient(90% 55% at 80% -8%,rgba(157,107,255,.13),transparent 60%),radial-gradient(70% 45% at 8% 14%,rgba(245,196,81,.07),transparent 55%),radial-gradient(120% 100% at 50% 115%,var(--bg-2),var(--bg) 70%),var(--bg);color:var(--text);font-family:var(--font-body)}.shell{width:100%;max-width:1180px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:18px;padding:clamp(14px,3vw,28px);padding-top:calc(clamp(14px,3vw,28px) + env(safe-area-inset-top));padding-bottom:calc(clamp(14px,3vw,28px) + env(safe-area-inset-bottom));box-sizing:border-box}.columns{display:flex;flex:1;flex-direction:column;gap:18px;min-height:0}.main{display:flex;flex:1;flex-direction:column;gap:18px;min-width:0}os-leaderboard-casino-table{flex:1;min-height:0}os-leaderboard-casino-footer{margin-top:auto}os-leaderboard-casino-legals{margin-top:-6px}";
|
|
2
|
+
export {
|
|
3
|
+
a as default
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=os-leaderboard-casino.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"os-leaderboard-casino.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { EMPTY_OS_LEADERBOARD_CASINO_STATE as E } from "./types/state.js";
|
|
2
|
+
import { OS_LEADERBOARD_CASINO_OPEN as S, OS_LEADERBOARD_CASINO_PRIZE_CLICK as O, OS_LEADERBOARD_CASINO_REFRESH as r, OS_LEADERBOARD_CASINO_SEARCH_CHANGE as o } from "./types/events.js";
|
|
3
|
+
import { OsLeaderboardCasino as D } from "./container/os-leaderboard-casino.js";
|
|
4
|
+
import { AdapterService as s, adapterService as a } from "./services/adapter.service.js";
|
|
5
|
+
import { DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID as t, LEADERBOARD_CASINO_PRESET_CATALOG as I, OS_LEADERBOARD_CASINO_LABELS as B, OS_LEADERBOARD_CASINO_PRESETS as d, OS_LEADERBOARD_CASINO_THEMES as p, getFallbackAssetsBundle as N, getOsLeaderboardCasinoPreset as T, getTheme as m, resolveAssetsBundle as n } from "./integration/assets-context.js";
|
|
6
|
+
import { IconService as i, iconService as l } from "./services/icon.service.js";
|
|
7
|
+
import { LEADERBOARD_CASINO_ASSET_FILES as b, assembleAssetsBundle as c } from "./integration/assemble-assets.js";
|
|
8
|
+
import { LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE as v, loadLeaderboardCasinoAssets as u } from "./integration/load-assets.js";
|
|
9
|
+
import { OS_LEADERBOARD_CASINO_TAG as H } from "./constants/tags.js";
|
|
10
|
+
import { applyLeaderboardCasinoInput as G, resolveLeaderboardCasinoInput as M } from "./integration/resolve-input.js";
|
|
11
|
+
export {
|
|
12
|
+
s as AdapterService,
|
|
13
|
+
t as DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID,
|
|
14
|
+
E as EMPTY_OS_LEADERBOARD_CASINO_STATE,
|
|
15
|
+
i as IconService,
|
|
16
|
+
b as LEADERBOARD_CASINO_ASSET_FILES,
|
|
17
|
+
v as LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE,
|
|
18
|
+
I as LEADERBOARD_CASINO_PRESET_CATALOG,
|
|
19
|
+
B as OS_LEADERBOARD_CASINO_LABELS,
|
|
20
|
+
S as OS_LEADERBOARD_CASINO_OPEN,
|
|
21
|
+
d as OS_LEADERBOARD_CASINO_PRESETS,
|
|
22
|
+
O as OS_LEADERBOARD_CASINO_PRIZE_CLICK,
|
|
23
|
+
r as OS_LEADERBOARD_CASINO_REFRESH,
|
|
24
|
+
o as OS_LEADERBOARD_CASINO_SEARCH_CHANGE,
|
|
25
|
+
H as OS_LEADERBOARD_CASINO_TAG,
|
|
26
|
+
p as OS_LEADERBOARD_CASINO_THEMES,
|
|
27
|
+
D as OsLeaderboardCasino,
|
|
28
|
+
a as adapterService,
|
|
29
|
+
G as applyLeaderboardCasinoInput,
|
|
30
|
+
c as assembleAssetsBundle,
|
|
31
|
+
N as getFallbackAssetsBundle,
|
|
32
|
+
T as getOsLeaderboardCasinoPreset,
|
|
33
|
+
m as getTheme,
|
|
34
|
+
l as iconService,
|
|
35
|
+
u as loadLeaderboardCasinoAssets,
|
|
36
|
+
n as resolveAssetsBundle,
|
|
37
|
+
M as resolveLeaderboardCasinoInput
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
function $(e) {
|
|
2
|
+
return {
|
|
3
|
+
version: 1,
|
|
4
|
+
labels: e.labels,
|
|
5
|
+
themes: e.themes,
|
|
6
|
+
presets: e.presets,
|
|
7
|
+
catalog: e.catalog,
|
|
8
|
+
resolvedPresets: e.resolvedPresets
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
const i = {
|
|
12
|
+
labels: "labels.json",
|
|
13
|
+
themes: "themes.json",
|
|
14
|
+
presets: "presets.json",
|
|
15
|
+
catalog: "catalog.json",
|
|
16
|
+
resolvedPresets: "resolved-presets.json"
|
|
17
|
+
};
|
|
18
|
+
async function o(e) {
|
|
19
|
+
const s = await fetch(e);
|
|
20
|
+
if (!s.ok)
|
|
21
|
+
throw new Error(`Failed to load ${e} (${s.status})`);
|
|
22
|
+
return await s.json();
|
|
23
|
+
}
|
|
24
|
+
async function d(e) {
|
|
25
|
+
const s = e.replace(/\/$/, ""), t = i, [l, a, r, n, c] = await Promise.all([
|
|
26
|
+
o(`${s}/${t.labels}`),
|
|
27
|
+
o(`${s}/${t.themes}`),
|
|
28
|
+
o(`${s}/${t.presets}`),
|
|
29
|
+
o(`${s}/${t.catalog}`),
|
|
30
|
+
o(
|
|
31
|
+
`${s}/${t.resolvedPresets}`
|
|
32
|
+
)
|
|
33
|
+
]);
|
|
34
|
+
return $({
|
|
35
|
+
labels: l,
|
|
36
|
+
themes: a,
|
|
37
|
+
presets: r,
|
|
38
|
+
catalog: n,
|
|
39
|
+
resolvedPresets: c
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
i as LEADERBOARD_CASINO_ASSET_FILES,
|
|
44
|
+
$ as assembleAssetsBundle,
|
|
45
|
+
o as fetchJson,
|
|
46
|
+
d as loadAssetsFromBaseUrl
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=assemble-assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assemble-assets.js","sources":["../../../../src/components/os-leaderboard-casino/integration/assemble-assets.ts"],"sourcesContent":["import type {\n LeaderboardCasinoAssetsBundle,\n LeaderboardCasinoAssetsPreset,\n LeaderboardCasinoAssetsTheme,\n} from '../types/assets.js';\nimport type {\n LeaderboardCasinoLabels,\n LeaderboardCasinoPresetMeta,\n} from '../types/input.js';\nimport type { OsLeaderboardCasinoState } from '../types/state.js';\n\nexport type AssembledAssetsParts = {\n labels: LeaderboardCasinoLabels;\n themes: readonly LeaderboardCasinoAssetsTheme[];\n presets: LeaderboardCasinoAssetsBundle['presets'];\n catalog: readonly LeaderboardCasinoPresetMeta[];\n resolvedPresets: Record<string, OsLeaderboardCasinoState>;\n};\n\nexport function assembleAssetsBundle(\n parts: AssembledAssetsParts,\n): LeaderboardCasinoAssetsBundle {\n return {\n version: 1,\n labels: parts.labels,\n themes: parts.themes,\n presets: parts.presets,\n catalog: parts.catalog,\n resolvedPresets: parts.resolvedPresets,\n };\n}\n\n/** Relative paths loaded from a free-tier assets directory. */\nexport const LEADERBOARD_CASINO_ASSET_FILES = {\n labels: 'labels.json',\n themes: 'themes.json',\n presets: 'presets.json',\n catalog: 'catalog.json',\n resolvedPresets: 'resolved-presets.json',\n} as const;\n\nexport async function fetchJson<T>(url: string): Promise<T> {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`Failed to load ${url} (${response.status})`);\n }\n return (await response.json()) as T;\n}\n\nexport async function loadAssetsFromBaseUrl(\n baseUrl: string,\n): Promise<LeaderboardCasinoAssetsBundle> {\n const base = baseUrl.replace(/\\/$/, '');\n const files = LEADERBOARD_CASINO_ASSET_FILES;\n\n const [labels, themes, presets, catalog, resolvedPresets] = await Promise.all([\n fetchJson<LeaderboardCasinoLabels>(`${base}/${files.labels}`),\n fetchJson<readonly LeaderboardCasinoAssetsTheme[]>(`${base}/${files.themes}`),\n fetchJson<LeaderboardCasinoAssetsBundle['presets']>(`${base}/${files.presets}`),\n fetchJson<readonly LeaderboardCasinoPresetMeta[]>(`${base}/${files.catalog}`),\n fetchJson<Record<string, OsLeaderboardCasinoState>>(\n `${base}/${files.resolvedPresets}`,\n ),\n ]);\n\n return assembleAssetsBundle({\n labels,\n themes,\n presets,\n catalog,\n resolvedPresets,\n });\n}\n"],"names":["assembleAssetsBundle","parts","LEADERBOARD_CASINO_ASSET_FILES","fetchJson","url","response","loadAssetsFromBaseUrl","baseUrl","base","files","labels","themes","presets","catalog","resolvedPresets"],"mappings":"AAmBO,SAASA,EACdC,GAC+B;AAC/B,SAAO;AAAA,IACL,SAAS;AAAA,IACT,QAAQA,EAAM;AAAA,IACd,QAAQA,EAAM;AAAA,IACd,SAASA,EAAM;AAAA,IACf,SAASA,EAAM;AAAA,IACf,iBAAiBA,EAAM;AAAA,EAAA;AAE3B;AAGO,MAAMC,IAAiC;AAAA,EAC5C,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,iBAAiB;AACnB;AAEA,eAAsBC,EAAaC,GAAyB;AAC1D,QAAMC,IAAW,MAAM,MAAMD,CAAG;AAChC,MAAI,CAACC,EAAS;AACZ,UAAM,IAAI,MAAM,kBAAkBD,CAAG,KAAKC,EAAS,MAAM,GAAG;AAE9D,SAAQ,MAAMA,EAAS,KAAA;AACzB;AAEA,eAAsBC,EACpBC,GACwC;AACxC,QAAMC,IAAOD,EAAQ,QAAQ,OAAO,EAAE,GAChCE,IAAQP,GAER,CAACQ,GAAQC,GAAQC,GAASC,GAASC,CAAe,IAAI,MAAM,QAAQ,IAAI;AAAA,IAC5EX,EAAmC,GAAGK,CAAI,IAAIC,EAAM,MAAM,EAAE;AAAA,IAC5DN,EAAmD,GAAGK,CAAI,IAAIC,EAAM,MAAM,EAAE;AAAA,IAC5EN,EAAoD,GAAGK,CAAI,IAAIC,EAAM,OAAO,EAAE;AAAA,IAC9EN,EAAkD,GAAGK,CAAI,IAAIC,EAAM,OAAO,EAAE;AAAA,IAC5EN;AAAA,MACE,GAAGK,CAAI,IAAIC,EAAM,eAAe;AAAA,IAAA;AAAA,EAClC,CACD;AAED,SAAOT,EAAqB;AAAA,IAC1B,QAAAU;AAAA,IACA,QAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,iBAAAC;AAAA,EAAA,CACD;AACH;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import u from "../assets/fallback/catalog.json.js";
|
|
2
|
+
import l from "../assets/fallback/labels.json.js";
|
|
3
|
+
import c from "../assets/fallback/presets.json.js";
|
|
4
|
+
import m from "../assets/fallback/resolved-presets.json.js";
|
|
5
|
+
import a from "../assets/fallback/themes.json.js";
|
|
6
|
+
import { assembleAssetsBundle as A } from "./assemble-assets.js";
|
|
7
|
+
const t = A({
|
|
8
|
+
labels: l,
|
|
9
|
+
themes: a,
|
|
10
|
+
presets: c,
|
|
11
|
+
catalog: u,
|
|
12
|
+
resolvedPresets: m
|
|
13
|
+
});
|
|
14
|
+
function B(e) {
|
|
15
|
+
return e ?? t;
|
|
16
|
+
}
|
|
17
|
+
function L() {
|
|
18
|
+
return t;
|
|
19
|
+
}
|
|
20
|
+
function P(e) {
|
|
21
|
+
return e.labels;
|
|
22
|
+
}
|
|
23
|
+
function d(e) {
|
|
24
|
+
return e.presets.presets;
|
|
25
|
+
}
|
|
26
|
+
function f(e) {
|
|
27
|
+
return e.presets.defaultPresetId;
|
|
28
|
+
}
|
|
29
|
+
function n(e) {
|
|
30
|
+
return e.themes;
|
|
31
|
+
}
|
|
32
|
+
function R(e, s = t) {
|
|
33
|
+
return d(s).find((r) => r.id === e);
|
|
34
|
+
}
|
|
35
|
+
function i(e, s = t) {
|
|
36
|
+
return n(s).find((r) => r.id === e) ?? n(s)[0];
|
|
37
|
+
}
|
|
38
|
+
function g(e, s = t) {
|
|
39
|
+
return i(e, s).vars ?? {};
|
|
40
|
+
}
|
|
41
|
+
function I(e, s = t) {
|
|
42
|
+
const r = f(s), o = s.resolvedPresets[e] ?? s.resolvedPresets[r];
|
|
43
|
+
return structuredClone(o);
|
|
44
|
+
}
|
|
45
|
+
const C = t.labels, T = t.themes, h = t.presets.presets, v = t.presets.defaultPresetId, N = t.catalog;
|
|
46
|
+
t.themes;
|
|
47
|
+
export {
|
|
48
|
+
v as DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID,
|
|
49
|
+
N as LEADERBOARD_CASINO_PRESET_CATALOG,
|
|
50
|
+
C as OS_LEADERBOARD_CASINO_LABELS,
|
|
51
|
+
h as OS_LEADERBOARD_CASINO_PRESETS,
|
|
52
|
+
T as OS_LEADERBOARD_CASINO_THEMES,
|
|
53
|
+
f as getBundleDefaultPresetId,
|
|
54
|
+
P as getBundleLabels,
|
|
55
|
+
d as getBundlePresets,
|
|
56
|
+
n as getBundleThemes,
|
|
57
|
+
L as getFallbackAssetsBundle,
|
|
58
|
+
R as getOsLeaderboardCasinoPreset,
|
|
59
|
+
i as getTheme,
|
|
60
|
+
g as getThemeVars,
|
|
61
|
+
B as resolveAssetsBundle,
|
|
62
|
+
I as resolvePresetState
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=assets-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-context.js","sources":["../../../../src/components/os-leaderboard-casino/integration/assets-context.ts"],"sourcesContent":["import catalogDocument from '../assets/fallback/catalog.json';\nimport labelsDocument from '../assets/fallback/labels.json';\nimport presetsDocument from '../assets/fallback/presets.json';\nimport resolvedPresetsDocument from '../assets/fallback/resolved-presets.json';\nimport themesDocument from '../assets/fallback/themes.json';\nimport { assembleAssetsBundle } from './assemble-assets.js';\nimport type {\n LeaderboardCasinoAssetsBundle,\n LeaderboardCasinoAssetsPreset,\n LeaderboardCasinoAssetsTheme,\n} from '../types/assets.js';\nimport type {\n LeaderboardCasinoPresetId,\n LeaderboardCasinoPresetMeta,\n} from '../types/input.js';\nimport type { OsLeaderboardCasinoState } from '../types/state.js';\n\nexport type OsLeaderboardCasinoPresetLabels =\n LeaderboardCasinoAssetsBundle['labels'];\n\nexport type OsLeaderboardCasinoThemeId = string;\n\nexport type OsLeaderboardCasinoThemeOption = LeaderboardCasinoAssetsTheme;\n\nexport type OsLeaderboardCasinoPreset = LeaderboardCasinoAssetsPreset;\n\ntype PresetsDocument = LeaderboardCasinoAssetsBundle['presets'];\n\nconst FALLBACK_BUNDLE = assembleAssetsBundle({\n labels: labelsDocument,\n themes: themesDocument as readonly LeaderboardCasinoAssetsTheme[],\n presets: presetsDocument as PresetsDocument,\n catalog: catalogDocument as readonly LeaderboardCasinoPresetMeta[],\n resolvedPresets: resolvedPresetsDocument as Record<string, OsLeaderboardCasinoState>,\n});\n\nexport function resolveAssetsBundle(\n assets?: LeaderboardCasinoAssetsBundle | null,\n): LeaderboardCasinoAssetsBundle {\n return assets ?? FALLBACK_BUNDLE;\n}\n\nexport function getFallbackAssetsBundle(): LeaderboardCasinoAssetsBundle {\n return FALLBACK_BUNDLE;\n}\n\nexport function getBundleLabels(\n bundle: LeaderboardCasinoAssetsBundle,\n): OsLeaderboardCasinoPresetLabels {\n return bundle.labels;\n}\n\nexport function getBundleCatalog(\n bundle: LeaderboardCasinoAssetsBundle,\n): readonly LeaderboardCasinoPresetMeta[] {\n return bundle.catalog;\n}\n\nexport function getBundlePresets(\n bundle: LeaderboardCasinoAssetsBundle,\n): readonly OsLeaderboardCasinoPreset[] {\n return bundle.presets.presets;\n}\n\nexport function getBundleDefaultPresetId(\n bundle: LeaderboardCasinoAssetsBundle,\n): LeaderboardCasinoPresetId {\n return bundle.presets.defaultPresetId;\n}\n\nexport function getBundleThemes(\n bundle: LeaderboardCasinoAssetsBundle,\n): readonly OsLeaderboardCasinoThemeOption[] {\n return bundle.themes;\n}\n\nexport function getOsLeaderboardCasinoPreset(\n id: string,\n bundle: LeaderboardCasinoAssetsBundle = FALLBACK_BUNDLE,\n): OsLeaderboardCasinoPreset | undefined {\n return getBundlePresets(bundle).find((preset) => preset.id === id);\n}\n\nexport function getTheme(\n id: OsLeaderboardCasinoThemeId,\n bundle: LeaderboardCasinoAssetsBundle = FALLBACK_BUNDLE,\n): OsLeaderboardCasinoThemeOption {\n return (\n getBundleThemes(bundle).find((theme) => theme.id === id) ??\n getBundleThemes(bundle)[0]\n );\n}\n\nexport function getThemeVars(\n id: OsLeaderboardCasinoThemeId,\n bundle: LeaderboardCasinoAssetsBundle = FALLBACK_BUNDLE,\n): Record<string, string> {\n return getTheme(id, bundle).vars ?? {};\n}\n\nexport function resolvePresetState(\n presetId: string,\n bundle: LeaderboardCasinoAssetsBundle = FALLBACK_BUNDLE,\n): OsLeaderboardCasinoState {\n const defaultId = getBundleDefaultPresetId(bundle);\n const resolved =\n bundle.resolvedPresets[presetId] ?? bundle.resolvedPresets[defaultId];\n return structuredClone(resolved);\n}\n\n/** Bundled fallback exports for dev tooling. */\nexport const OS_LEADERBOARD_CASINO_LABELS = FALLBACK_BUNDLE.labels;\nexport const OS_LEADERBOARD_CASINO_THEMES = FALLBACK_BUNDLE.themes;\nexport const OS_LEADERBOARD_CASINO_PRESETS = FALLBACK_BUNDLE.presets.presets;\nexport const DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID =\n FALLBACK_BUNDLE.presets.defaultPresetId;\nexport const LEADERBOARD_CASINO_PRESET_CATALOG = FALLBACK_BUNDLE.catalog;\nexport const playgroundThemes = FALLBACK_BUNDLE.themes;\n\nexport function getPlaygroundTheme(\n id: string,\n bundle: LeaderboardCasinoAssetsBundle = FALLBACK_BUNDLE,\n): OsLeaderboardCasinoThemeOption {\n return getTheme(id, bundle);\n}\n"],"names":["FALLBACK_BUNDLE","assembleAssetsBundle","labelsDocument","themesDocument","presetsDocument","catalogDocument","resolvedPresetsDocument","resolveAssetsBundle","assets","getFallbackAssetsBundle","getBundleLabels","bundle","getBundlePresets","getBundleDefaultPresetId","getBundleThemes","getOsLeaderboardCasinoPreset","id","preset","getTheme","theme","getThemeVars","resolvePresetState","presetId","defaultId","resolved","OS_LEADERBOARD_CASINO_LABELS","OS_LEADERBOARD_CASINO_THEMES","OS_LEADERBOARD_CASINO_PRESETS","DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID","LEADERBOARD_CASINO_PRESET_CATALOG"],"mappings":";;;;;;AA4BA,MAAMA,IAAkBC,EAAqB;AAAA,EAC3C,QAAQC;AAAA,EACR,QAAQC;AAAA,EACR,SAASC;AAAA,EACT,SAASC;AAAA,EACT,iBAAiBC;AACnB,CAAC;AAEM,SAASC,EACdC,GAC+B;AAC/B,SAAOA,KAAUR;AACnB;AAEO,SAASS,IAAyD;AACvE,SAAOT;AACT;AAEO,SAASU,EACdC,GACiC;AACjC,SAAOA,EAAO;AAChB;AAQO,SAASC,EACdD,GACsC;AACtC,SAAOA,EAAO,QAAQ;AACxB;AAEO,SAASE,EACdF,GAC2B;AAC3B,SAAOA,EAAO,QAAQ;AACxB;AAEO,SAASG,EACdH,GAC2C;AAC3C,SAAOA,EAAO;AAChB;AAEO,SAASI,EACdC,GACAL,IAAwCX,GACD;AACvC,SAAOY,EAAiBD,CAAM,EAAE,KAAK,CAACM,MAAWA,EAAO,OAAOD,CAAE;AACnE;AAEO,SAASE,EACdF,GACAL,IAAwCX,GACR;AAChC,SACEc,EAAgBH,CAAM,EAAE,KAAK,CAACQ,MAAUA,EAAM,OAAOH,CAAE,KACvDF,EAAgBH,CAAM,EAAE,CAAC;AAE7B;AAEO,SAASS,EACdJ,GACAL,IAAwCX,GAChB;AACxB,SAAOkB,EAASF,GAAIL,CAAM,EAAE,QAAQ,CAAA;AACtC;AAEO,SAASU,EACdC,GACAX,IAAwCX,GACd;AAC1B,QAAMuB,IAAYV,EAAyBF,CAAM,GAC3Ca,IACJb,EAAO,gBAAgBW,CAAQ,KAAKX,EAAO,gBAAgBY,CAAS;AACtE,SAAO,gBAAgBC,CAAQ;AACjC;AAGO,MAAMC,IAA+BzB,EAAgB,QAC/C0B,IAA+B1B,EAAgB,QAC/C2B,IAAgC3B,EAAgB,QAAQ,SACxD4B,IACX5B,EAAgB,QAAQ,iBACb6B,IAAoC7B,EAAgB;AACjCA,EAAgB;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { getFallbackAssetsBundle as r } from "./assets-context.js";
|
|
2
|
+
import { loadAssetsFromBaseUrl as a } from "./assemble-assets.js";
|
|
3
|
+
import { LEADERBOARD_CASINO_ASSET_FILES as c, assembleAssetsBundle as u } from "./assemble-assets.js";
|
|
4
|
+
const o = "/assets/producer_output/os-leaderboard-casino/free";
|
|
5
|
+
async function n(e = o) {
|
|
6
|
+
try {
|
|
7
|
+
return await a(e);
|
|
8
|
+
} catch (s) {
|
|
9
|
+
return console.warn(
|
|
10
|
+
"[os-leaderboard-casino] Failed to load parent assets, using bundled fallback.",
|
|
11
|
+
s
|
|
12
|
+
), r();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
c as LEADERBOARD_CASINO_ASSET_FILES,
|
|
17
|
+
o as LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE,
|
|
18
|
+
u as assembleAssetsBundle,
|
|
19
|
+
a as loadAssetsFromBaseUrl,
|
|
20
|
+
n as loadLeaderboardCasinoAssets
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=load-assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-assets.js","sources":["../../../../src/components/os-leaderboard-casino/integration/load-assets.ts"],"sourcesContent":["import type { LeaderboardCasinoAssetsBundle } from '../types/assets.js';\nimport { getFallbackAssetsBundle } from './assets-context.js';\nimport {\n LEADERBOARD_CASINO_ASSET_FILES,\n loadAssetsFromBaseUrl,\n} from './assemble-assets.js';\n\nexport {\n assembleAssetsBundle,\n LEADERBOARD_CASINO_ASSET_FILES,\n loadAssetsFromBaseUrl,\n} from './assemble-assets.js';\n\n/** Default path under parent app static `assets/`. */\nexport const LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE =\n '/assets/producer_output/os-leaderboard-casino/free';\n\n/**\n * Load free-tier JSON from the parent app. Falls back to bundled\n * `assets/fallback/*.json` when remote files fail.\n */\nexport async function loadLeaderboardCasinoAssets(\n baseUrl: string = LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE,\n): Promise<LeaderboardCasinoAssetsBundle> {\n try {\n return await loadAssetsFromBaseUrl(baseUrl);\n } catch (error) {\n console.warn(\n '[os-leaderboard-casino] Failed to load parent assets, using bundled fallback.',\n error,\n );\n return getFallbackAssetsBundle();\n }\n}\n"],"names":["LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE","loadLeaderboardCasinoAssets","baseUrl","loadAssetsFromBaseUrl","error","getFallbackAssetsBundle"],"mappings":";;;AAcO,MAAMA,IACX;AAMF,eAAsBC,EACpBC,IAAkBF,GACsB;AACxC,MAAI;AACF,WAAO,MAAMG,EAAsBD,CAAO;AAAA,EAC5C,SAASE,GAAO;AACd,mBAAQ;AAAA,MACN;AAAA,MACAA;AAAA,IAAA,GAEKC,EAAA;AAAA,EACT;AACF;"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { getBundleDefaultPresetId as c, getOsLeaderboardCasinoPreset as a, resolvePresetState as f, getBundleLabels as p, getThemeVars as b, resolveAssetsBundle as P, getTheme as h } from "./assets-context.js";
|
|
2
|
+
import { LEADERBOARD_CASINO_PRESET_CATALOG as L } from "./assets-context.js";
|
|
3
|
+
function g(e, n, r, s) {
|
|
4
|
+
const t = e.branding?.themeId;
|
|
5
|
+
return !t || h(t, s).appearance !== n ? r : t;
|
|
6
|
+
}
|
|
7
|
+
function l(e) {
|
|
8
|
+
return {
|
|
9
|
+
username: e.username,
|
|
10
|
+
rank: e.rank,
|
|
11
|
+
points: e.points ?? e.winnings ?? 0,
|
|
12
|
+
totalBet: e.winnings,
|
|
13
|
+
prize: null,
|
|
14
|
+
splitCount: 1,
|
|
15
|
+
you: e.isCurrentUser ?? !1
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function d(e) {
|
|
19
|
+
const n = e.winnings ?? e.points ?? 0;
|
|
20
|
+
return {
|
|
21
|
+
id: e.id ?? `player-${e.rank}`,
|
|
22
|
+
username: e.username,
|
|
23
|
+
rank: e.rank,
|
|
24
|
+
totalWinnings: n,
|
|
25
|
+
points: e.points ?? n,
|
|
26
|
+
winRate: 52,
|
|
27
|
+
gamesPlayed: 120,
|
|
28
|
+
streak: 2,
|
|
29
|
+
level: 12,
|
|
30
|
+
badges: []
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function m(e, n) {
|
|
34
|
+
n && (e.sections.hero && (e.sections.hero = {
|
|
35
|
+
...e.sections.hero,
|
|
36
|
+
...n.title != null ? { title: n.title } : {},
|
|
37
|
+
...n.description != null ? { description: n.description } : {},
|
|
38
|
+
...n.endAt != null ? { endTs: n.endAt } : {},
|
|
39
|
+
...n.prizePool?.value != null ? { prizePoolValue: n.prizePool.value } : {},
|
|
40
|
+
...n.prizePool?.currency != null ? { prizePoolCurrency: n.prizePool.currency } : {},
|
|
41
|
+
...n.finished != null ? { status: n.finished ? "completed" : "active" } : {}
|
|
42
|
+
}), e.sections.stats && n.participantCount != null && (e.sections.stats = {
|
|
43
|
+
...e.sections.stats,
|
|
44
|
+
totalParticipants: n.participantCount
|
|
45
|
+
}), e.sections.footer && n.footerText != null && (e.sections.footer = {
|
|
46
|
+
...e.sections.footer,
|
|
47
|
+
text: n.footerText
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
function C(e, n) {
|
|
51
|
+
if (!n?.length || !e.sections.table) return;
|
|
52
|
+
const r = [...n].sort((t, o) => t.rank - o.rank), s = r.find((t) => t.isCurrentUser) ?? r.find((t) => t.username.toLowerCase() === "you");
|
|
53
|
+
if (e.config.appearance === "glam" && e.sections.table.mode === "preview") {
|
|
54
|
+
e.sections.table = {
|
|
55
|
+
...e.sections.table,
|
|
56
|
+
topPlayers: r.slice(0, 10).map(l),
|
|
57
|
+
currentUser: s ? l(s) : e.sections.table.currentUser
|
|
58
|
+
};
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (e.sections.table.mode === "ledger") {
|
|
62
|
+
const o = r.map(d).slice(0, 8), i = s && !o.some((u) => u.id === (s.id ?? `player-${s.rank}`)) ? d(s) : void 0;
|
|
63
|
+
e.sections.table = {
|
|
64
|
+
...e.sections.table,
|
|
65
|
+
players: o,
|
|
66
|
+
currentUser: i
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function v(e, n) {
|
|
71
|
+
const r = P(n), s = e.preset ?? c(r), t = a(s, r);
|
|
72
|
+
if (!t)
|
|
73
|
+
throw new Error(
|
|
74
|
+
`Unknown leaderboard preset "${s}". Check assets catalog.`
|
|
75
|
+
);
|
|
76
|
+
const o = g(
|
|
77
|
+
e,
|
|
78
|
+
t.appearance,
|
|
79
|
+
t.themeId,
|
|
80
|
+
r
|
|
81
|
+
), i = f(s, r);
|
|
82
|
+
return i.config.themeId = o, i.config.labels = {
|
|
83
|
+
...p(r),
|
|
84
|
+
...t.config.labels,
|
|
85
|
+
...e.branding?.labels
|
|
86
|
+
}, i.config.themeVars = {
|
|
87
|
+
...b(o, r),
|
|
88
|
+
...e.branding?.themeVars
|
|
89
|
+
}, m(i, e.campaign), C(i, e.players), i;
|
|
90
|
+
}
|
|
91
|
+
function k(e, n, r) {
|
|
92
|
+
r !== void 0 && (e.assets = r), e.input = n, e.uuid = n.campaign?.uuid ?? "", e.finished = n.campaign?.finished ?? !1, e.state = v(n, e.assets);
|
|
93
|
+
}
|
|
94
|
+
export {
|
|
95
|
+
L as LEADERBOARD_CASINO_PRESET_CATALOG,
|
|
96
|
+
k as applyLeaderboardCasinoInput,
|
|
97
|
+
v as resolveLeaderboardCasinoInput
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=resolve-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-input.js","sources":["../../../../src/components/os-leaderboard-casino/integration/resolve-input.ts"],"sourcesContent":["import type { Player } from '../types/ledger.js';\nimport type { UserRank } from '@os-leaderboard-casino/types/data.js';\nimport type { LeaderboardCasinoAssetsBundle } from '../types/assets.js';\nimport type {\n LeaderboardCasinoCampaign,\n LeaderboardCasinoInput,\n LeaderboardCasinoPlayer,\n} from '../types/input.js';\nimport type { OsLeaderboardCasinoState } from '../types/state.js';\nimport {\n getBundleLabels,\n getBundleDefaultPresetId,\n getOsLeaderboardCasinoPreset,\n resolveAssetsBundle,\n resolvePresetState,\n getTheme,\n getThemeVars,\n type OsLeaderboardCasinoThemeId,\n LEADERBOARD_CASINO_PRESET_CATALOG,\n} from './assets-context.js';\n\nexport { LEADERBOARD_CASINO_PRESET_CATALOG };\n\nfunction resolveThemeId(\n input: LeaderboardCasinoInput,\n appearance: OsLeaderboardCasinoState['config']['appearance'],\n fallback: string,\n bundle: LeaderboardCasinoAssetsBundle,\n): OsLeaderboardCasinoThemeId {\n const requested = input.branding?.themeId;\n if (!requested) return fallback as OsLeaderboardCasinoThemeId;\n const theme = getTheme(requested as OsLeaderboardCasinoThemeId, bundle);\n if (theme.appearance !== appearance)\n return fallback as OsLeaderboardCasinoThemeId;\n return requested as OsLeaderboardCasinoThemeId;\n}\n\nfunction toPreviewPlayer(player: LeaderboardCasinoPlayer): UserRank {\n return {\n username: player.username,\n rank: player.rank,\n points: player.points ?? player.winnings ?? 0,\n totalBet: player.winnings,\n prize: null,\n splitCount: 1,\n you: player.isCurrentUser ?? false,\n };\n}\n\nfunction toLedgerPlayer(player: LeaderboardCasinoPlayer): Player {\n const winnings = player.winnings ?? player.points ?? 0;\n return {\n id: player.id ?? `player-${player.rank}`,\n username: player.username,\n rank: player.rank,\n totalWinnings: winnings,\n points: player.points ?? winnings,\n winRate: 52,\n gamesPlayed: 120,\n streak: 2,\n level: 12,\n badges: [],\n };\n}\n\nfunction applyCampaign(\n state: OsLeaderboardCasinoState,\n campaign: LeaderboardCasinoCampaign | undefined,\n): void {\n if (!campaign) return;\n\n if (state.sections.hero) {\n state.sections.hero = {\n ...state.sections.hero,\n ...(campaign.title != null ? { title: campaign.title } : {}),\n ...(campaign.description != null\n ? { description: campaign.description }\n : {}),\n ...(campaign.endAt != null ? { endTs: campaign.endAt } : {}),\n ...(campaign.prizePool?.value != null\n ? { prizePoolValue: campaign.prizePool.value }\n : {}),\n ...(campaign.prizePool?.currency != null\n ? { prizePoolCurrency: campaign.prizePool.currency }\n : {}),\n ...(campaign.finished != null\n ? { status: campaign.finished ? 'completed' : 'active' }\n : {}),\n };\n }\n\n if (state.sections.stats && campaign.participantCount != null) {\n state.sections.stats = {\n ...state.sections.stats,\n totalParticipants: campaign.participantCount,\n };\n }\n\n if (state.sections.footer && campaign.footerText != null) {\n state.sections.footer = {\n ...state.sections.footer,\n text: campaign.footerText,\n };\n }\n}\n\nfunction applyPlayers(\n state: OsLeaderboardCasinoState,\n players: LeaderboardCasinoPlayer[] | undefined,\n): void {\n if (!players?.length || !state.sections.table) return;\n\n const sorted = [...players].sort((a, b) => a.rank - b.rank);\n const current =\n sorted.find((p) => p.isCurrentUser) ??\n sorted.find((p) => p.username.toLowerCase() === 'you');\n\n if (\n state.config.appearance === 'glam' &&\n state.sections.table.mode === 'preview'\n ) {\n state.sections.table = {\n ...state.sections.table,\n topPlayers: sorted.slice(0, 10).map(toPreviewPlayer),\n currentUser: current\n ? toPreviewPlayer(current)\n : state.sections.table.currentUser,\n };\n return;\n }\n\n if (state.sections.table.mode === 'ledger') {\n const ledger = sorted.map(toLedgerPlayer);\n const top = ledger.slice(0, 8);\n const pinned =\n current &&\n !top.some((p) => p.id === (current.id ?? `player-${current.rank}`))\n ? toLedgerPlayer(current)\n : undefined;\n\n state.sections.table = {\n ...state.sections.table,\n players: top,\n currentUser: pinned,\n };\n }\n}\n\n/**\n * Resolve integration input into render state using the provided assets bundle.\n * Falls back to bundled `assets/fallback/fallback.json` when `assets` is omitted.\n */\nexport function resolveLeaderboardCasinoInput(\n input: LeaderboardCasinoInput,\n assets?: LeaderboardCasinoAssetsBundle | null,\n): OsLeaderboardCasinoState {\n const bundle = resolveAssetsBundle(assets);\n const presetId = input.preset ?? getBundleDefaultPresetId(bundle);\n const preset = getOsLeaderboardCasinoPreset(presetId, bundle);\n if (!preset) {\n throw new Error(\n `Unknown leaderboard preset \"${presetId}\". Check assets catalog.`,\n );\n }\n\n const themeId = resolveThemeId(\n input,\n preset.appearance,\n preset.themeId,\n bundle,\n );\n const state = resolvePresetState(presetId, bundle);\n\n state.config.themeId = themeId;\n state.config.labels = {\n ...getBundleLabels(bundle),\n ...preset.config.labels,\n ...input.branding?.labels,\n };\n\n state.config.themeVars = {\n ...getThemeVars(themeId, bundle),\n ...input.branding?.themeVars,\n };\n\n applyCampaign(state, input.campaign);\n applyPlayers(state, input.players);\n\n return state;\n}\n\nexport type LeaderboardCasinoHost = HTMLElement & {\n state: OsLeaderboardCasinoState;\n uuid?: string;\n finished?: boolean;\n input?: LeaderboardCasinoInput | null;\n assets?: LeaderboardCasinoAssetsBundle | null;\n assetsBaseUrl?: string;\n};\n\n/** Apply input (+ optional assets bundle) to a mounted element. */\nexport function applyLeaderboardCasinoInput(\n host: LeaderboardCasinoHost,\n input: LeaderboardCasinoInput,\n assets?: LeaderboardCasinoAssetsBundle | null,\n): void {\n if (assets !== undefined) {\n host.assets = assets;\n }\n host.input = input;\n host.uuid = input.campaign?.uuid ?? '';\n host.finished = input.campaign?.finished ?? false;\n host.state = resolveLeaderboardCasinoInput(input, host.assets);\n}\n"],"names":["resolveThemeId","input","appearance","fallback","bundle","requested","getTheme","toPreviewPlayer","player","toLedgerPlayer","winnings","applyCampaign","state","campaign","applyPlayers","players","sorted","a","b","current","p","top","pinned","resolveLeaderboardCasinoInput","assets","resolveAssetsBundle","presetId","getBundleDefaultPresetId","preset","getOsLeaderboardCasinoPreset","themeId","resolvePresetState","getBundleLabels","getThemeVars","applyLeaderboardCasinoInput","host"],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { html as e } from "lit";
|
|
2
|
+
function i(a) {
|
|
3
|
+
return e`<section>
|
|
4
|
+
<div class="section-header">
|
|
5
|
+
<h2 class="section-title">${a.climbTitle}</h2>
|
|
6
|
+
</div>
|
|
7
|
+
|
|
8
|
+
<div class="card ${a.section.vip ? "vip" : ""}">
|
|
9
|
+
<div class="top">
|
|
10
|
+
<div class="rank-ring"><b>#${a.section.rank}</b></div>
|
|
11
|
+
<div class="who">
|
|
12
|
+
<div class="name">${a.renderName()}</div>
|
|
13
|
+
<div class="pts">${a.pointsLabel}</div>
|
|
14
|
+
</div>
|
|
15
|
+
<span class="trend ${a.trendClass}">${a.renderTrend()}</span>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<div class="progress">
|
|
19
|
+
<div class="progress-labels">
|
|
20
|
+
<span class="goal">
|
|
21
|
+
<b>${a.pointsToNextLabel}</b>
|
|
22
|
+
to reach top ${a.nextTierRank}
|
|
23
|
+
</span>
|
|
24
|
+
<span class="target">
|
|
25
|
+
<span class="target-label">next:</span>
|
|
26
|
+
<em>${a.renderNextTierPrizeIcon()} ${a.nextTierLabel}</em>
|
|
27
|
+
</span>
|
|
28
|
+
</div>
|
|
29
|
+
<div
|
|
30
|
+
class="bar"
|
|
31
|
+
role="progressbar"
|
|
32
|
+
aria-valuenow="${a.progressPct}"
|
|
33
|
+
aria-valuemin="0"
|
|
34
|
+
aria-valuemax="100"
|
|
35
|
+
>
|
|
36
|
+
<div class="fill" style="width: ${a.progressPct}%"></div>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</section>
|
|
41
|
+
`;
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
i as default
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=climb-section.html.js.map
|
package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"climb-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/climb-section/climb-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<section>\n <div class=\"section-header\">\n <h2 class=\"section-title\">${host.climbTitle}</h2>\n </div>\n\n <div class=\"card ${host.section.vip ? 'vip' : ''}\">\n <div class=\"top\">\n <div class=\"rank-ring\"><b>#${host.section.rank}</b></div>\n <div class=\"who\">\n <div class=\"name\">${host.renderName()}</div>\n <div class=\"pts\">${host.pointsLabel}</div>\n </div>\n <span class=\"trend ${host.trendClass}\">${host.renderTrend()}</span>\n </div>\n\n <div class=\"progress\">\n <div class=\"progress-labels\">\n <span class=\"goal\">\n <b>${host.pointsToNextLabel}</b>\n to reach top ${host.nextTierRank}\n </span>\n <span class=\"target\">\n <span class=\"target-label\">next:</span>\n <em>${host.renderNextTierPrizeIcon()} ${host.nextTierLabel}</em>\n </span>\n </div>\n <div\n class=\"bar\"\n role=\"progressbar\"\n aria-valuenow=\"${host.progressPct}\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <div class=\"fill\" style=\"width: ${host.progressPct}%\"></div>\n </div>\n </div>\n </div>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA,gCAEuBD,EAAK,UAAU;AAAA;AAAA;AAAA,qBAG1BA,EAAK,QAAQ,MAAM,QAAQ,EAAE;AAAA;AAAA,mCAEfA,EAAK,QAAQ,IAAI;AAAA;AAAA,4BAExBA,EAAK,YAAY;AAAA,2BAClBA,EAAK,WAAW;AAAA;AAAA,2BAEhBA,EAAK,UAAU,KAAKA,EAAK,YAAW,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAMlDA,EAAK,iBAAiB;AAAA,yBACZA,EAAK,YAAY;AAAA;AAAA;AAAA;AAAA,gBAI1BA,EAAK,wBAAuB,CAAE,IAAIA,EAAK,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAM3CA,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA,0CAICA,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAM1D;"}
|