@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,74 @@
|
|
|
1
|
+
import { LitElement as u, html as m, nothing as b } from "lit";
|
|
2
|
+
import { property as d } from "lit/decorators.js";
|
|
3
|
+
import { unsafeSVG as p } from "lit/directives/unsafe-svg.js";
|
|
4
|
+
import g from "../../assets/icons/table.rank-up.svg.js";
|
|
5
|
+
import h from "../../assets/icons/table.rank-down.svg.js";
|
|
6
|
+
import v from "../../assets/icons/table.rank-neutral.svg.js";
|
|
7
|
+
import { Component as x } from "../../../../shared/lib/lit/component.js";
|
|
8
|
+
import { scss as L } from "../../../../shared/lib/lit/scss.js";
|
|
9
|
+
import { OS_LEADERBOARD_CASINO_CLIMB as S } from "../../constants/tags.js";
|
|
10
|
+
import { osLeaderboardCasinoTheme as T } from "../../theme/styles.js";
|
|
11
|
+
import { renderPlayerName as N } from "../../theme/vip-mark.js";
|
|
12
|
+
import { iconService as l } from "../../services/icon.service.js";
|
|
13
|
+
import _ from "./climb-section.html.js";
|
|
14
|
+
import C from "./climb-section.scss.js";
|
|
15
|
+
var O = Object.defineProperty, P = Object.getOwnPropertyDescriptor, f = (e, t, i, n) => {
|
|
16
|
+
for (var r = n > 1 ? void 0 : n ? P(t, i) : t, s = e.length - 1, a; s >= 0; s--)
|
|
17
|
+
(a = e[s]) && (r = (n ? a(t, i, r) : a(r)) || r);
|
|
18
|
+
return n && r && O(t, i, r), r;
|
|
19
|
+
};
|
|
20
|
+
function c(e) {
|
|
21
|
+
return e.replace("<svg ", '<svg viewBox="0 0 512 512" ');
|
|
22
|
+
}
|
|
23
|
+
const w = c(g), $ = c(h), y = c(v);
|
|
24
|
+
let o = class extends u {
|
|
25
|
+
get climbTitle() {
|
|
26
|
+
return this.section?.title ?? "Your climb";
|
|
27
|
+
}
|
|
28
|
+
get pointsLabel() {
|
|
29
|
+
return `${this.section.points.toLocaleString()} pts`;
|
|
30
|
+
}
|
|
31
|
+
get trendClass() {
|
|
32
|
+
const e = this.section?.trend ?? 0;
|
|
33
|
+
return e > 0 ? "up" : e < 0 ? "down" : "flat";
|
|
34
|
+
}
|
|
35
|
+
renderTrend() {
|
|
36
|
+
const e = this.section?.trend ?? 0;
|
|
37
|
+
return e > 0 ? m`${p(w)}<b>${e}</b>` : e < 0 ? m`${p($)}<b>${Math.abs(e)}</b>` : m`${p(y)}<b>steady</b>`;
|
|
38
|
+
}
|
|
39
|
+
get pointsToNextLabel() {
|
|
40
|
+
return `${this.section.pointsToNextTier.toLocaleString()} pts`;
|
|
41
|
+
}
|
|
42
|
+
get nextTierRank() {
|
|
43
|
+
return this.section.nextTierRank;
|
|
44
|
+
}
|
|
45
|
+
get nextTierLabel() {
|
|
46
|
+
return this.section.nextTierLabel;
|
|
47
|
+
}
|
|
48
|
+
renderNextTierPrizeIcon() {
|
|
49
|
+
const e = l.resolvePrizeIconName(this.section.nextTierLabel);
|
|
50
|
+
return l.get(e).render({
|
|
51
|
+
className: "prize-icon prize-icon--inline"
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
get progressPct() {
|
|
55
|
+
return Math.round(Math.min(1, Math.max(0, this.section.progress)) * 100);
|
|
56
|
+
}
|
|
57
|
+
renderName() {
|
|
58
|
+
return N(this.section.username, { vip: this.section.vip });
|
|
59
|
+
}
|
|
60
|
+
render() {
|
|
61
|
+
return this.section ? _(this) : b;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
o.styles = [T, L(C)];
|
|
65
|
+
f([
|
|
66
|
+
d({ attribute: !1 })
|
|
67
|
+
], o.prototype, "section", 2);
|
|
68
|
+
o = f([
|
|
69
|
+
x({ selector: S })
|
|
70
|
+
], o);
|
|
71
|
+
export {
|
|
72
|
+
o as OsLeaderboardCasinoClimb
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=climb-section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"climb-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/climb-section/climb-section.ts"],"sourcesContent":["import { html, LitElement, nothing, type TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport rankUpSvg from '../../assets/icons/table.rank-up.svg?raw';\nimport rankDownSvg from '../../assets/icons/table.rank-down.svg?raw';\nimport rankNeutralSvg from '../../assets/icons/table.rank-neutral.svg?raw';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_CLIMB } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport { renderPlayerName } from '@os-leaderboard-casino/theme/vip-mark.js';\nimport { iconService } from '@os-leaderboard-casino/services/icon.service.js';\nimport type { OsLeaderboardCasinoClimbSection } from '@os-leaderboard-casino/types/sections.js';\nimport type { ClimbSectionHost } from './climb-section.host.js';\nimport renderTemplate from './climb-section.html?lit-html';\nimport styles from './climb-section.scss?inline';\n\nfunction addViewBox(svg: string): string {\n return svg.replace('<svg ', '<svg viewBox=\"0 0 512 512\" ');\n}\nconst rankUpSvgVb = addViewBox(rankUpSvg);\nconst rankDownSvgVb = addViewBox(rankDownSvg);\nconst rankNeutralSvgVb = addViewBox(rankNeutralSvg);\n\n/** \"Your climb\" — progress towards the next prize tier with rank trend. */\n@Component({ selector: OS_LEADERBOARD_CASINO_CLIMB })\nexport class OsLeaderboardCasinoClimb\n extends LitElement\n implements ClimbSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoClimbSection;\n\n get climbTitle(): string {\n return this.section?.title ?? 'Your climb';\n }\n\n get pointsLabel(): string {\n return `${this.section.points.toLocaleString()} pts`;\n }\n\n get trendClass(): string {\n const trend = this.section?.trend ?? 0;\n return trend > 0 ? 'up' : trend < 0 ? 'down' : 'flat';\n }\n\n renderTrend(): TemplateResult {\n const trend = this.section?.trend ?? 0;\n if (trend > 0) return html`${unsafeSVG(rankUpSvgVb)}<b>${trend}</b>`;\n if (trend < 0) return html`${unsafeSVG(rankDownSvgVb)}<b>${Math.abs(trend)}</b>`;\n return html`${unsafeSVG(rankNeutralSvgVb)}<b>steady</b>`;\n }\n\n get pointsToNextLabel(): string {\n return `${this.section.pointsToNextTier.toLocaleString()} pts`;\n }\n\n get nextTierRank(): number {\n return this.section.nextTierRank;\n }\n\n get nextTierLabel(): string {\n return this.section.nextTierLabel;\n }\n\n renderNextTierPrizeIcon() {\n const name = iconService.resolvePrizeIconName(this.section.nextTierLabel);\n return iconService.get(name).render({\n className: 'prize-icon prize-icon--inline',\n });\n }\n\n get progressPct(): number {\n return Math.round(Math.min(1, Math.max(0, this.section.progress)) * 100);\n }\n\n renderName() {\n return renderPlayerName(this.section.username, { vip: this.section.vip });\n }\n\n render() {\n if (!this.section) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["addViewBox","svg","rankUpSvgVb","rankUpSvg","rankDownSvgVb","rankDownSvg","rankNeutralSvgVb","rankNeutralSvg","OsLeaderboardCasinoClimb","LitElement","trend","html","unsafeSVG","name","iconService","renderPlayerName","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_CLIMB"],"mappings":";;;;;;;;;;;;;;;;;;;AAiBA,SAASA,EAAWC,GAAqB;AACvC,SAAOA,EAAI,QAAQ,SAAS,6BAA6B;AAC3D;AACA,MAAMC,IAAcF,EAAWG,CAAS,GAClCC,IAAgBJ,EAAWK,CAAW,GACtCC,IAAmBN,EAAWO,CAAc;AAI3C,IAAMC,IAAN,cACGC,EAEV;AAAA,EAME,IAAI,aAAqB;AACvB,WAAO,KAAK,SAAS,SAAS;AAAA,EAChC;AAAA,EAEA,IAAI,cAAsB;AACxB,WAAO,GAAG,KAAK,QAAQ,OAAO,gBAAgB;AAAA,EAChD;AAAA,EAEA,IAAI,aAAqB;AACvB,UAAMC,IAAQ,KAAK,SAAS,SAAS;AACrC,WAAOA,IAAQ,IAAI,OAAOA,IAAQ,IAAI,SAAS;AAAA,EACjD;AAAA,EAEA,cAA8B;AAC5B,UAAMA,IAAQ,KAAK,SAAS,SAAS;AACrC,WAAIA,IAAQ,IAAUC,IAAOC,EAAUV,CAAW,CAAC,MAAMQ,CAAK,SAC1DA,IAAQ,IAAUC,IAAOC,EAAUR,CAAa,CAAC,MAAM,KAAK,IAAIM,CAAK,CAAC,SACnEC,IAAOC,EAAUN,CAAgB,CAAC;AAAA,EAC3C;AAAA,EAEA,IAAI,oBAA4B;AAC9B,WAAO,GAAG,KAAK,QAAQ,iBAAiB,gBAAgB;AAAA,EAC1D;AAAA,EAEA,IAAI,eAAuB;AACzB,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEA,IAAI,gBAAwB;AAC1B,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEA,0BAA0B;AACxB,UAAMO,IAAOC,EAAY,qBAAqB,KAAK,QAAQ,aAAa;AACxE,WAAOA,EAAY,IAAID,CAAI,EAAE,OAAO;AAAA,MAClC,WAAW;AAAA,IAAA,CACZ;AAAA,EACH;AAAA,EAEA,IAAI,cAAsB;AACxB,WAAO,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,QAAQ,QAAQ,CAAC,IAAI,GAAG;AAAA,EACzE;AAAA,EAEA,aAAa;AACX,WAAOE,EAAiB,KAAK,QAAQ,UAAU,EAAE,KAAK,KAAK,QAAQ,KAAK;AAAA,EAC1E;AAAA,EAEA,SAAS;AACP,WAAK,KAAK,UACHC,EAAe,IAAI,IADAC;AAAA,EAE5B;AACF;AA5DaT,EAIJ,SAAS,CAACU,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GANnBd,EAOX,WAAA,WAAA,CAAA;AAPWA,IAANa,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA6B;AAAA,GACvChB,CAAA;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const r = ':host{display:block;width:100%}.card{position:relative;overflow:hidden;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);box-shadow:var(--panel-shadow);padding:16px 18px}.top{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.rank-ring{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(var(--surface-solid),var(--surface-solid)) padding-box,conic-gradient(from 220deg,var(--violet),var(--gold),var(--violet)) border-box;border:2px solid transparent}.rank-ring b{font-family:var(--font-mono);font-size:15px;font-weight:800;color:var(--text)}.who{flex:1;min-width:0}.name{font-family:var(--font-display);font-size:15px;font-weight:800;color:var(--text)}.pts{margin-top:1px;font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.trend{flex:none;display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:12px;font-weight:800;padding:6px 12px;border-radius:999px;border:1px solid var(--hairline)}.trend svg{width:15px;height:15px;flex:none}.trend.up{color:var(--green);background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 35%,transparent)}.trend.down{color:var(--red);background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 35%,transparent)}.trend.flat{color:var(--text-dim);background:#ffffff0a}.progress{margin-top:15px}.progress-labels{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.goal{font-size:12px;color:var(--text-dim)}.goal b{color:var(--gold-strong);font-weight:800}.target{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--text-faint);white-space:nowrap}.target-label{line-height:1}.target em{display:inline-flex;align-items:center;gap:4px;font-style:normal;color:var(--text);line-height:1}.bar{position:relative;height:10px;border-radius:999px;background:#ffffff0f;border:1px solid var(--hairline);overflow:hidden}.fill{position:relative;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--violet) 0%,var(--gold) 100%);box-shadow:0 0 14px var(--gold-glow);transition:width .8s cubic-bezier(.22,1,.36,1)}.fill:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);background-size:200% 100%;animation:bar-shine 2.6s linear infinite}@keyframes bar-shine{0%{background-position:180% 0}to{background-position:-80% 0}}';
|
|
2
|
+
export {
|
|
3
|
+
r as default
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=climb-section.scss.js.map
|
package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.scss.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"climb-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { html as o } from "lit";
|
|
2
|
+
const t = (r) => {
|
|
3
|
+
switch (r) {
|
|
4
|
+
case "boost":
|
|
5
|
+
return o`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
|
|
6
|
+
<path
|
|
7
|
+
d="M4 20 9 9l6 6-11 5Z"
|
|
8
|
+
fill="currentColor"
|
|
9
|
+
opacity=".25"
|
|
10
|
+
/>
|
|
11
|
+
<path
|
|
12
|
+
d="M4 20 9 9l6 6-11 5Z"
|
|
13
|
+
stroke="currentColor"
|
|
14
|
+
stroke-width="1.5"
|
|
15
|
+
stroke-linejoin="round"
|
|
16
|
+
/>
|
|
17
|
+
<path
|
|
18
|
+
d="M14 3v3M19 5l-2 2M21 10h-3"
|
|
19
|
+
stroke="currentColor"
|
|
20
|
+
stroke-width="1.5"
|
|
21
|
+
stroke-linecap="round"
|
|
22
|
+
/>
|
|
23
|
+
<circle cx="15.5" cy="8.5" r="2.5" fill="currentColor" opacity=".4" />
|
|
24
|
+
</svg>`;
|
|
25
|
+
case "gift":
|
|
26
|
+
return o`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
|
|
27
|
+
<rect
|
|
28
|
+
x="4"
|
|
29
|
+
y="9"
|
|
30
|
+
width="16"
|
|
31
|
+
height="11"
|
|
32
|
+
rx="1.5"
|
|
33
|
+
stroke="currentColor"
|
|
34
|
+
stroke-width="1.5"
|
|
35
|
+
/>
|
|
36
|
+
<path d="M4 9h16M12 9v11" stroke="currentColor" stroke-width="1.5" />
|
|
37
|
+
<path
|
|
38
|
+
d="M12 9C9 9 7 4 9.5 4S12 7 12 9Zm0 0c3 0 5-5 2.5-5S12 7 12 9Z"
|
|
39
|
+
stroke="currentColor"
|
|
40
|
+
stroke-width="1.5"
|
|
41
|
+
stroke-linejoin="round"
|
|
42
|
+
/>
|
|
43
|
+
</svg>`;
|
|
44
|
+
case "bolt":
|
|
45
|
+
return o`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
|
|
46
|
+
<path
|
|
47
|
+
d="M13 2 4 14h6l-1 8 9-12h-6l1-8Z"
|
|
48
|
+
fill="currentColor"
|
|
49
|
+
opacity=".25"
|
|
50
|
+
/>
|
|
51
|
+
<path
|
|
52
|
+
d="M13 2 4 14h6l-1 8 9-12h-6l1-8Z"
|
|
53
|
+
stroke="currentColor"
|
|
54
|
+
stroke-width="1.5"
|
|
55
|
+
stroke-linejoin="round"
|
|
56
|
+
/>
|
|
57
|
+
</svg>`;
|
|
58
|
+
case "fire":
|
|
59
|
+
return o`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
|
|
60
|
+
<path
|
|
61
|
+
d="M12 3c1 3 4 4 4 8a4 4 0 1 1-8 0c0-2 1-3 2-4 .5 1.5 2 2 2-4Z"
|
|
62
|
+
fill="currentColor"
|
|
63
|
+
opacity=".25"
|
|
64
|
+
/>
|
|
65
|
+
<path
|
|
66
|
+
d="M12 3c1 3 4 4 4 8a4 4 0 1 1-8 0c0-2 1-3 2-4 .5 1.5 2 2 2-4Z"
|
|
67
|
+
stroke="currentColor"
|
|
68
|
+
stroke-width="1.5"
|
|
69
|
+
stroke-linejoin="round"
|
|
70
|
+
/>
|
|
71
|
+
</svg>`;
|
|
72
|
+
case "star":
|
|
73
|
+
return o`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
|
|
74
|
+
<path
|
|
75
|
+
d="m12 3 2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z"
|
|
76
|
+
fill="currentColor"
|
|
77
|
+
opacity=".25"
|
|
78
|
+
/>
|
|
79
|
+
<path
|
|
80
|
+
d="m12 3 2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z"
|
|
81
|
+
stroke="currentColor"
|
|
82
|
+
stroke-width="1.5"
|
|
83
|
+
stroke-linejoin="round"
|
|
84
|
+
/>
|
|
85
|
+
</svg>`;
|
|
86
|
+
case "clock":
|
|
87
|
+
return o`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
|
|
88
|
+
<circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1.5" />
|
|
89
|
+
<path
|
|
90
|
+
d="M12 7v5l3.5 2"
|
|
91
|
+
stroke="currentColor"
|
|
92
|
+
stroke-width="1.5"
|
|
93
|
+
stroke-linecap="round"
|
|
94
|
+
stroke-linejoin="round"
|
|
95
|
+
/>
|
|
96
|
+
</svg>`;
|
|
97
|
+
}
|
|
98
|
+
}, e = {
|
|
99
|
+
"event-1": "bolt",
|
|
100
|
+
"event-2": "boost"
|
|
101
|
+
}, n = {
|
|
102
|
+
gold: "bolt",
|
|
103
|
+
violet: "boost",
|
|
104
|
+
green: "star",
|
|
105
|
+
red: "fire"
|
|
106
|
+
};
|
|
107
|
+
function l(r) {
|
|
108
|
+
return r.icon ? r.icon : t(
|
|
109
|
+
e[r.id] ?? n[r.accent ?? "gold"] ?? "star"
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
export {
|
|
113
|
+
t as eventIcon,
|
|
114
|
+
l as resolveEventIcon
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=event-icons.js.map
|
package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-icons.js","sources":["../../../../../../src/components/os-leaderboard-casino/sections/events-banner/components/event-icons.ts"],"sourcesContent":["import { html, type TemplateResult } from 'lit';\nimport type { OsLeaderboardCasinoEventItem } from '@os-leaderboard-casino/types/sections.js';\n\nexport type EventIconName = 'boost' | 'gift' | 'bolt' | 'fire' | 'star' | 'clock';\n\nexport const eventIcon = (name: EventIconName): TemplateResult => {\n switch (name) {\n case 'boost':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M4 20 9 9l6 6-11 5Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"M4 20 9 9l6 6-11 5Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14 3v3M19 5l-2 2M21 10h-3\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n <circle cx=\"15.5\" cy=\"8.5\" r=\"2.5\" fill=\"currentColor\" opacity=\".4\" />\n </svg>`;\n case 'gift':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x=\"4\"\n y=\"9\"\n width=\"16\"\n height=\"11\"\n rx=\"1.5\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n />\n <path d=\"M4 9h16M12 9v11\" stroke=\"currentColor\" stroke-width=\"1.5\" />\n <path\n d=\"M12 9C9 9 7 4 9.5 4S12 7 12 9Zm0 0c3 0 5-5 2.5-5S12 7 12 9Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'bolt':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M13 2 4 14h6l-1 8 9-12h-6l1-8Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"M13 2 4 14h6l-1 8 9-12h-6l1-8Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'fire':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M12 3c1 3 4 4 4 8a4 4 0 1 1-8 0c0-2 1-3 2-4 .5 1.5 2 2 2-4Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"M12 3c1 3 4 4 4 8a4 4 0 1 1-8 0c0-2 1-3 2-4 .5 1.5 2 2 2-4Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'star':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"m12 3 2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"m12 3 2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'clock':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\" />\n <path\n d=\"M12 7v5l3.5 2\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n }\n};\n\nconst ICON_BY_ID: Record<string, EventIconName> = {\n 'event-1': 'bolt',\n 'event-2': 'boost',\n};\n\nconst ICON_BY_ACCENT: Record<\n NonNullable<OsLeaderboardCasinoEventItem['accent']>,\n EventIconName\n> = {\n gold: 'bolt',\n violet: 'boost',\n green: 'star',\n red: 'fire',\n};\n\nexport function resolveEventIcon(\n event: OsLeaderboardCasinoEventItem,\n): TemplateResult | string {\n if (event.icon) return event.icon;\n return eventIcon(\n ICON_BY_ID[event.id] ??\n ICON_BY_ACCENT[event.accent ?? 'gold'] ??\n 'star',\n );\n}\n"],"names":["eventIcon","name","html","ICON_BY_ID","ICON_BY_ACCENT","resolveEventIcon","event"],"mappings":";AAKO,MAAMA,IAAY,CAACC,MAAwC;AAChE,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAOC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBT,KAAK;AACH,aAAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkBT,KAAK;AACH,aAAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaT,KAAK;AACH,aAAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaT,KAAK;AACH,aAAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaT,KAAK;AACH,aAAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAWb,GAEMC,IAA4C;AAAA,EAChD,WAAW;AAAA,EACX,WAAW;AACb,GAEMC,IAGF;AAAA,EACF,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AACP;AAEO,SAASC,EACdC,GACyB;AACzB,SAAIA,EAAM,OAAaA,EAAM,OACtBN;AAAA,IACLG,EAAWG,EAAM,EAAE,KACjBF,EAAeE,EAAM,UAAU,MAAM,KACrC;AAAA,EAAA;AAEN;"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { LitElement as d, nothing as l, html as r } from "lit";
|
|
2
|
+
import { keyed as h } from "lit/directives/keyed.js";
|
|
3
|
+
import { property as m, state as v } from "lit/decorators.js";
|
|
4
|
+
import { Component as f } from "../../../../shared/lib/lit/component.js";
|
|
5
|
+
import { scss as u } from "../../../../shared/lib/lit/scss.js";
|
|
6
|
+
import { DEFAULT_EVENTS_ROTATE_MS as b } from "../../constants/defaults.js";
|
|
7
|
+
import { OS_LEADERBOARD_CASINO_EVENTS as _ } from "../../constants/tags.js";
|
|
8
|
+
import { osLeaderboardCasinoTheme as $ } from "../../theme/styles.js";
|
|
9
|
+
import { resolveEventIcon as g } from "./components/event-icons.js";
|
|
10
|
+
import E from "./events-banner.scss.js";
|
|
11
|
+
var x = Object.defineProperty, R = Object.getOwnPropertyDescriptor, p = (t, e, n, s) => {
|
|
12
|
+
for (var o = s > 1 ? void 0 : s ? R(e, n) : e, i = t.length - 1, c; i >= 0; i--)
|
|
13
|
+
(c = t[i]) && (o = (s ? c(e, n, o) : c(o)) || o);
|
|
14
|
+
return s && o && x(e, n, o), o;
|
|
15
|
+
};
|
|
16
|
+
let a = class extends d {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments), this.index = 0;
|
|
19
|
+
}
|
|
20
|
+
connectedCallback() {
|
|
21
|
+
super.connectedCallback(), this.startRotation();
|
|
22
|
+
}
|
|
23
|
+
disconnectedCallback() {
|
|
24
|
+
super.disconnectedCallback(), this.stopRotation();
|
|
25
|
+
}
|
|
26
|
+
updated(t) {
|
|
27
|
+
t.has("section") && (this.index = 0, this.startRotation());
|
|
28
|
+
}
|
|
29
|
+
startRotation() {
|
|
30
|
+
this.stopRotation();
|
|
31
|
+
const t = this.section?.events?.length ?? 0;
|
|
32
|
+
t < 2 || (this.timer = setInterval(() => {
|
|
33
|
+
this.index = (this.index + 1) % t;
|
|
34
|
+
}, this.section?.rotateMs ?? b));
|
|
35
|
+
}
|
|
36
|
+
stopRotation() {
|
|
37
|
+
this.timer && clearInterval(this.timer), this.timer = void 0;
|
|
38
|
+
}
|
|
39
|
+
goTo(t) {
|
|
40
|
+
this.index = t, this.startRotation();
|
|
41
|
+
}
|
|
42
|
+
render() {
|
|
43
|
+
const t = this.section?.events ?? [];
|
|
44
|
+
if (!t.length) return l;
|
|
45
|
+
const e = t[this.index], n = e.accent ?? "gold", s = g(e);
|
|
46
|
+
return r`
|
|
47
|
+
<div class="banner" role="region" aria-label="Promotions" aria-live="polite">
|
|
48
|
+
<div class="chip accent-${n}">
|
|
49
|
+
${typeof s == "string" ? r`${s}` : s}
|
|
50
|
+
</div>
|
|
51
|
+
${h(
|
|
52
|
+
this.index,
|
|
53
|
+
r`<div class="body">
|
|
54
|
+
<p class="title">${e.title}</p>
|
|
55
|
+
${e.subtitle ? r`<p class="sub">${e.subtitle}</p>` : l}
|
|
56
|
+
</div>`
|
|
57
|
+
)}
|
|
58
|
+
<div class="right">
|
|
59
|
+
<span class="tag accent-${n}">Event</span>
|
|
60
|
+
${t.length > 1 ? r`<div class="dots">
|
|
61
|
+
${t.map(
|
|
62
|
+
(o, i) => r`<button
|
|
63
|
+
type="button"
|
|
64
|
+
class="dot"
|
|
65
|
+
aria-current=${i === this.index ? "true" : "false"}
|
|
66
|
+
aria-label="Show event ${i + 1}"
|
|
67
|
+
@click=${() => this.goTo(i)}
|
|
68
|
+
></button>`
|
|
69
|
+
)}
|
|
70
|
+
</div>` : l}
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
`;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
a.styles = [$, u(E)];
|
|
77
|
+
p([
|
|
78
|
+
m({ attribute: !1 })
|
|
79
|
+
], a.prototype, "section", 2);
|
|
80
|
+
p([
|
|
81
|
+
v()
|
|
82
|
+
], a.prototype, "index", 2);
|
|
83
|
+
a = p([
|
|
84
|
+
f({ selector: _ })
|
|
85
|
+
], a);
|
|
86
|
+
export {
|
|
87
|
+
a as OsLeaderboardCasinoEvents
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=events-banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-banner.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/events-banner/events-banner.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { keyed } from 'lit/directives/keyed.js';\nimport { property, state } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { DEFAULT_EVENTS_ROTATE_MS } from '@os-leaderboard-casino/constants/defaults.js';\nimport { OS_LEADERBOARD_CASINO_EVENTS } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type { OsLeaderboardCasinoEventsSection } from '@os-leaderboard-casino/types/sections.js';\nimport { resolveEventIcon } from './components/event-icons.js';\nimport styles from './events-banner.scss?inline';\n\n/** Promotional events — v0 Glass Glow (icon chip, fade rotation). */\n@Component({ selector: OS_LEADERBOARD_CASINO_EVENTS })\nexport class OsLeaderboardCasinoEvents extends LitElement {\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoEventsSection;\n\n @state()\n private index = 0;\n\n private timer?: ReturnType<typeof setInterval>;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.startRotation();\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.stopRotation();\n }\n\n updated(changed: Map<string, unknown>) {\n if (changed.has('section')) {\n this.index = 0;\n this.startRotation();\n }\n }\n\n private startRotation() {\n this.stopRotation();\n const count = this.section?.events?.length ?? 0;\n if (count < 2) return;\n this.timer = setInterval(() => {\n this.index = (this.index + 1) % count;\n }, this.section?.rotateMs ?? DEFAULT_EVENTS_ROTATE_MS);\n }\n\n private stopRotation() {\n if (this.timer) clearInterval(this.timer);\n this.timer = undefined;\n }\n\n private goTo(index: number) {\n this.index = index;\n this.startRotation();\n }\n\n render() {\n const events = this.section?.events ?? [];\n if (!events.length) return nothing;\n\n const event = events[this.index];\n const accent = event.accent ?? 'gold';\n const icon = resolveEventIcon(event);\n\n return html`\n <div class=\"banner\" role=\"region\" aria-label=\"Promotions\" aria-live=\"polite\">\n <div class=\"chip accent-${accent}\">\n ${typeof icon === 'string' ? html`${icon}` : icon}\n </div>\n ${keyed(\n this.index,\n html`<div class=\"body\">\n <p class=\"title\">${event.title}</p>\n ${event.subtitle\n ? html`<p class=\"sub\">${event.subtitle}</p>`\n : nothing}\n </div>`,\n )}\n <div class=\"right\">\n <span class=\"tag accent-${accent}\">Event</span>\n ${events.length > 1\n ? html`<div class=\"dots\">\n ${events.map(\n (_, i) => html`<button\n type=\"button\"\n class=\"dot\"\n aria-current=${i === this.index ? 'true' : 'false'}\n aria-label=\"Show event ${i + 1}\"\n @click=${() => this.goTo(i)}\n ></button>`,\n )}\n </div>`\n : nothing}\n </div>\n </div>\n `;\n }\n}\n"],"names":["OsLeaderboardCasinoEvents","LitElement","changed","count","DEFAULT_EVENTS_ROTATE_MS","index","events","nothing","event","accent","icon","resolveEventIcon","html","keyed","_","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","state","Component","OS_LEADERBOARD_CASINO_EVENTS"],"mappings":";;;;;;;;;;;;;;;AAcO,IAAMA,IAAN,cAAwCC,EAAW;AAAA,EAAnD,cAAA;AAAA,UAAA,GAAA,SAAA,GAOL,KAAQ,QAAQ;AAAA,EAAA;AAAA,EAIhB,oBAA0B;AACxB,UAAM,kBAAA,GACN,KAAK,cAAA;AAAA,EACP;AAAA,EAEA,uBAA6B;AAC3B,UAAM,qBAAA,GACN,KAAK,aAAA;AAAA,EACP;AAAA,EAEA,QAAQC,GAA+B;AACrC,IAAIA,EAAQ,IAAI,SAAS,MACvB,KAAK,QAAQ,GACb,KAAK,cAAA;AAAA,EAET;AAAA,EAEQ,gBAAgB;AACtB,SAAK,aAAA;AACL,UAAMC,IAAQ,KAAK,SAAS,QAAQ,UAAU;AAC9C,IAAIA,IAAQ,MACZ,KAAK,QAAQ,YAAY,MAAM;AAC7B,WAAK,SAAS,KAAK,QAAQ,KAAKA;AAAA,IAClC,GAAG,KAAK,SAAS,YAAYC,CAAwB;AAAA,EACvD;AAAA,EAEQ,eAAe;AACrB,IAAI,KAAK,SAAO,cAAc,KAAK,KAAK,GACxC,KAAK,QAAQ;AAAA,EACf;AAAA,EAEQ,KAAKC,GAAe;AAC1B,SAAK,QAAQA,GACb,KAAK,cAAA;AAAA,EACP;AAAA,EAEA,SAAS;AACP,UAAMC,IAAS,KAAK,SAAS,UAAU,CAAA;AACvC,QAAI,CAACA,EAAO,OAAQ,QAAOC;AAE3B,UAAMC,IAAQF,EAAO,KAAK,KAAK,GACzBG,IAASD,EAAM,UAAU,QACzBE,IAAOC,EAAiBH,CAAK;AAEnC,WAAOI;AAAA;AAAA,kCAEuBH,CAAM;AAAA,YAC5B,OAAOC,KAAS,WAAWE,IAAOF,CAAI,KAAKA,CAAI;AAAA;AAAA,UAEjDG;AAAA,MACA,KAAK;AAAA,MACLD;AAAA,+BACqBJ,EAAM,KAAK;AAAA,cAC5BA,EAAM,WACJI,mBAAsBJ,EAAM,QAAQ,SACpCD,CAAO;AAAA;AAAA,IAAA,CAEd;AAAA;AAAA,oCAE2BE,CAAM;AAAA,YAC9BH,EAAO,SAAS,IACdM;AAAA,kBACIN,EAAO;AAAA,MACP,CAACQ,GAAG,MAAMF;AAAA;AAAA;AAAA,mCAGO,MAAM,KAAK,QAAQ,SAAS,OAAO;AAAA,6CACzB,IAAI,CAAC;AAAA,6BACrB,MAAM,KAAK,KAAK,CAAC,CAAC;AAAA;AAAA,IAAA,CAE9B;AAAA,wBAEHL,CAAO;AAAA;AAAA;AAAA;AAAA,EAInB;AACF;AAxFaP,EACJ,SAAS,CAACe,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GAHnBnB,EAIX,WAAA,WAAA,CAAA;AAGQkB,EAAA;AAAA,EADPE,EAAA;AAAM,GANIpB,EAOH,WAAA,SAAA,CAAA;AAPGA,IAANkB,EAAA;AAAA,EADNG,EAAU,EAAE,UAAUC,EAAA,CAA8B;AAAA,GACxCtB,CAAA;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const r = ":host{display:block;width:100%}.banner{position:relative;display:flex;align-items:center;gap:18px;padding:16px 20px;border-radius:var(--radius-sm);background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);overflow:hidden;cursor:pointer}.chip{position:relative;z-index:1;flex:none;width:50px;height:50px;display:grid;place-items:center;border-radius:14px;color:var(--gold);font-size:22px;background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 16%,transparent),color-mix(in srgb,var(--violet) 12%,transparent));border:1px solid color-mix(in srgb,var(--gold) 30%,transparent)}.chip.accent-violet{color:var(--violet);background:linear-gradient(160deg,color-mix(in srgb,var(--violet) 18%,transparent),color-mix(in srgb,var(--gold) 8%,transparent));border-color:color-mix(in srgb,var(--violet) 30%,transparent)}.chip.accent-green{color:var(--green);background:linear-gradient(160deg,color-mix(in srgb,var(--green) 18%,transparent),color-mix(in srgb,var(--gold) 8%,transparent));border-color:color-mix(in srgb,var(--green) 30%,transparent)}.chip.accent-red{color:var(--red);background:linear-gradient(160deg,color-mix(in srgb,var(--red) 18%,transparent),color-mix(in srgb,var(--gold) 8%,transparent));border-color:color-mix(in srgb,var(--red) 30%,transparent)}.chip svg{width:26px;height:26px}.body{position:relative;z-index:1;min-width:0;flex:1}.title{margin:0;font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub{margin:4px 0 0;font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;align-self:stretch;flex:none;min-height:50px}.tag{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#d9cdff;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--violet) 14%,transparent);border:1px solid color-mix(in srgb,var(--violet) 32%,transparent)}.tag.accent-gold{color:var(--gold-strong);background:var(--gold-soft);border-color:color-mix(in srgb,var(--gold) 35%,transparent)}.tag.accent-green{color:color-mix(in srgb,var(--green) 85%,var(--text));background:color-mix(in srgb,var(--green) 14%,transparent);border-color:color-mix(in srgb,var(--green) 32%,transparent)}.tag.accent-red{color:color-mix(in srgb,var(--red) 85%,var(--text));background:color-mix(in srgb,var(--red) 14%,transparent);border-color:color-mix(in srgb,var(--red) 32%,transparent)}.dots{display:flex;gap:6px}.dot{height:4px;width:14px;border-radius:999px;border:none;padding:0;cursor:pointer;background:color-mix(in srgb,var(--text) 16%,transparent);transition:width var(--transition-fast),background var(--transition-fast)}.dot[aria-current=true]{width:26px;background:var(--gold)}@media(max-width:560px){.banner{gap:14px;padding:14px 16px;align-items:stretch}.title,.sub{white-space:normal}.body,.chip{align-self:center}}";
|
|
2
|
+
export {
|
|
3
|
+
r as default
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=events-banner.scss.js.map
|
package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.scss.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-banner.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { html as r } from "lit";
|
|
2
|
+
function t(e) {
|
|
3
|
+
return r`<footer class="page-footer">
|
|
4
|
+
<!-- <p>${e.displayText}</p> -->
|
|
5
|
+
<!-- TODO: hardcoded -->
|
|
6
|
+
<p>
|
|
7
|
+
Powered by
|
|
8
|
+
<a href="https://oddsmith.io" target="_blank" rel="noopener noreferrer">
|
|
9
|
+
Oddsmith.io
|
|
10
|
+
</a>
|
|
11
|
+
</p>
|
|
12
|
+
</footer>
|
|
13
|
+
`;
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
t as default
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=footer-section.html.js.map
|
package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/footer-section/footer-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<footer class=\"page-footer\">\n <!-- <p>${host.displayText}</p> -->\n <!-- TODO: hardcoded -->\n <p>\n Powered by\n <a href=\"https://oddsmith.io\" target=\"_blank\" rel=\"noopener noreferrer\">\n Oddsmith.io\n </a>\n </p>\n</footer>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA,YACGD,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAU5B;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { LitElement as a, nothing as l } from "lit";
|
|
2
|
+
import { property as f } from "lit/decorators.js";
|
|
3
|
+
import { Component as O } from "../../../../shared/lib/lit/component.js";
|
|
4
|
+
import { scss as c } from "../../../../shared/lib/lit/scss.js";
|
|
5
|
+
import { OS_LEADERBOARD_CASINO_FOOTER as u } from "../../constants/tags.js";
|
|
6
|
+
import { osLeaderboardCasinoTheme as _ } from "../../theme/styles.js";
|
|
7
|
+
import h from "./footer-section.html.js";
|
|
8
|
+
import x from "./footer-section.scss.js";
|
|
9
|
+
var y = Object.defineProperty, d = Object.getOwnPropertyDescriptor, m = (n, e, s, o) => {
|
|
10
|
+
for (var t = o > 1 ? void 0 : o ? d(e, s) : e, p = n.length - 1, i; p >= 0; p--)
|
|
11
|
+
(i = n[p]) && (t = (o ? i(e, s, t) : i(t)) || t);
|
|
12
|
+
return o && t && y(e, s, t), t;
|
|
13
|
+
};
|
|
14
|
+
let r = class extends a {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments), this.text = "";
|
|
17
|
+
}
|
|
18
|
+
get displayText() {
|
|
19
|
+
return this.section?.text ?? this.text;
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
return this.displayText ? h(this) : l;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
r.styles = [_, c(x)];
|
|
26
|
+
m([
|
|
27
|
+
f({ attribute: !1 })
|
|
28
|
+
], r.prototype, "section", 2);
|
|
29
|
+
m([
|
|
30
|
+
f({ type: String })
|
|
31
|
+
], r.prototype, "text", 2);
|
|
32
|
+
r = m([
|
|
33
|
+
O({ selector: u })
|
|
34
|
+
], r);
|
|
35
|
+
export {
|
|
36
|
+
r as OsLeaderboardCasinoFooter
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=footer-section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/footer-section/footer-section.ts"],"sourcesContent":["import { LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_FOOTER } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type { OsLeaderboardCasinoFooterSection } from '@os-leaderboard-casino/types/sections.js';\nimport type { FooterSectionHost } from './footer-section.host.js';\nimport renderTemplate from './footer-section.html?lit-html';\nimport styles from './footer-section.scss?inline';\n\n@Component({ selector: OS_LEADERBOARD_CASINO_FOOTER })\nexport class OsLeaderboardCasinoFooter\n extends LitElement\n implements FooterSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section?: OsLeaderboardCasinoFooterSection;\n\n @property({ type: String })\n text = '';\n\n get displayText(): string {\n return this.section?.text ?? this.text;\n }\n\n render() {\n if (!this.displayText) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["OsLeaderboardCasinoFooter","LitElement","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_FOOTER"],"mappings":";;;;;;;;;;;;;AAYO,IAAMA,IAAN,cACGC,EAEV;AAAA,EAHO,cAAA;AAAA,UAAA,GAAA,SAAA,GAUL,KAAA,OAAO;AAAA,EAAA;AAAA,EAEP,IAAI,cAAsB;AACxB,WAAO,KAAK,SAAS,QAAQ,KAAK;AAAA,EACpC;AAAA,EAEA,SAAS;AACP,WAAK,KAAK,cACHC,EAAe,IAAI,IADIC;AAAA,EAEhC;AACF;AApBaH,EAIJ,SAAS,CAACI,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GANnBR,EAOX,WAAA,WAAA,CAAA;AAGAO,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GATfR,EAUX,WAAA,QAAA,CAAA;AAVWA,IAANO,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA8B;AAAA,GACxCV,CAAA;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const e = ":host{display:block;width:100%}.page-footer{margin-top:4px;padding:14px 4px 0;width:100%;display:grid;gap:10px;border-top:1px solid var(--hairline)}.page-footer p{margin:0;text-align:center;font-size:11.5px;line-height:1.55;color:var(--text-faint)}.page-footer p a,.page-footer__brand{color:inherit;text-decoration:underline;text-underline-offset:2px}.page-footer p a:hover,.page-footer__brand:hover{color:var(--text-dim)}";
|
|
2
|
+
export {
|
|
3
|
+
e as default
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=footer-section.scss.js.map
|
package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.scss.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { html as s } from "lit";
|
|
2
|
+
function i(e) {
|
|
3
|
+
return s`<section>
|
|
4
|
+
<div class="section-header">
|
|
5
|
+
<h2 class="section-title">${e.sectionTitle}</h2>
|
|
6
|
+
<span class="hint">every bet earns points</span>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="games-row">${e.renderGames()}</div>
|
|
9
|
+
</section>
|
|
10
|
+
`;
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
i as default
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=games-section.html.js.map
|
package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"games-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/games-section/games-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<section>\n <div class=\"section-header\">\n <h2 class=\"section-title\">${host.sectionTitle}</h2>\n <span class=\"hint\">every bet earns points</span>\n </div>\n <div class=\"games-row\">${host.renderGames()}</div>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA,gCAEuBD,EAAK,YAAY;AAAA;AAAA;AAAA,2BAGtBA,EAAK,aAAa;AAAA;AAAA;AAG7C;"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { LitElement as m, html as d, nothing as h } from "lit";
|
|
2
|
+
import { property as _ } from "lit/decorators.js";
|
|
3
|
+
import p from "../../../../shared/vendor/keen-slider-keen-slider.es.js";
|
|
4
|
+
import { Component as f } from "../../../../shared/lib/lit/component.js";
|
|
5
|
+
import { scss as g } from "../../../../shared/lib/lit/scss.js";
|
|
6
|
+
import { OS_LEADERBOARD_CASINO_GAMES as u } from "../../constants/tags.js";
|
|
7
|
+
import { osLeaderboardCasinoTheme as v } from "../../theme/styles.js";
|
|
8
|
+
import { iconService as a } from "../../services/icon.service.js";
|
|
9
|
+
import S from "./games-section.html.js";
|
|
10
|
+
import y from "./games-section.scss.js";
|
|
11
|
+
var C = Object.defineProperty, b = Object.getOwnPropertyDescriptor, c = (e, s, r, i) => {
|
|
12
|
+
for (var t = i > 1 ? void 0 : i ? b(s, r) : s, l = e.length - 1, n; l >= 0; l--)
|
|
13
|
+
(n = e[l]) && (t = (i ? n(s, r, t) : n(t)) || t);
|
|
14
|
+
return i && t && C(s, r, t), t;
|
|
15
|
+
};
|
|
16
|
+
const w = "(max-width: 767px)";
|
|
17
|
+
let o = class extends m {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments), this._onSliderMqChange = () => this._syncSlider(), this._syncSlider = () => {
|
|
20
|
+
if (!(this.section?.games ?? []).length) return;
|
|
21
|
+
const s = this.shadowRoot?.querySelector(".games-row");
|
|
22
|
+
if (!s) return;
|
|
23
|
+
if (!(this._sliderMq?.matches ?? !1)) {
|
|
24
|
+
this._destroySlider();
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
s.classList.add("keen-slider"), this._slider ? this._slider.update() : this._slider = new p(s, {
|
|
28
|
+
mode: "free",
|
|
29
|
+
slides: { perView: "auto", spacing: 10 }
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
get sectionTitle() {
|
|
34
|
+
return this.section?.title ?? "Qualifying Games";
|
|
35
|
+
}
|
|
36
|
+
connectedCallback() {
|
|
37
|
+
super.connectedCallback(), this._sliderMq = window.matchMedia(w), this._sliderMq.addEventListener("change", this._onSliderMqChange);
|
|
38
|
+
}
|
|
39
|
+
disconnectedCallback() {
|
|
40
|
+
super.disconnectedCallback(), this._sliderMq?.removeEventListener("change", this._onSliderMqChange), this._sliderMq = void 0, this._destroySlider();
|
|
41
|
+
}
|
|
42
|
+
updated() {
|
|
43
|
+
this._syncSlider();
|
|
44
|
+
}
|
|
45
|
+
_destroySlider() {
|
|
46
|
+
this._slider?.destroy(), this._slider = void 0;
|
|
47
|
+
const e = this.shadowRoot?.querySelector(".games-row");
|
|
48
|
+
e && e.classList.remove("keen-slider");
|
|
49
|
+
}
|
|
50
|
+
renderCard(e, s) {
|
|
51
|
+
const r = a.resolveGameIconName(e.id, s), i = e.imageUrl ?? a.get(r).url;
|
|
52
|
+
return d`
|
|
53
|
+
<article class="card keen-slider__slide" data-game-id=${e.id}>
|
|
54
|
+
<div class="thumb">
|
|
55
|
+
<img
|
|
56
|
+
src=${i}
|
|
57
|
+
alt=${e.title}
|
|
58
|
+
loading="lazy"
|
|
59
|
+
draggable="false"
|
|
60
|
+
/>
|
|
61
|
+
</div>
|
|
62
|
+
<div class="body">
|
|
63
|
+
<div class="title">${e.title}</div>
|
|
64
|
+
</div>
|
|
65
|
+
</article>
|
|
66
|
+
`;
|
|
67
|
+
}
|
|
68
|
+
renderGames() {
|
|
69
|
+
const e = this.section?.games ?? [];
|
|
70
|
+
return d`${e.map((s, r) => this.renderCard(s, r))}`;
|
|
71
|
+
}
|
|
72
|
+
render() {
|
|
73
|
+
return (this.section?.games ?? []).length ? S(this) : h;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
o.styles = [v, g(y)];
|
|
77
|
+
c([
|
|
78
|
+
_({ attribute: !1 })
|
|
79
|
+
], o.prototype, "section", 2);
|
|
80
|
+
o = c([
|
|
81
|
+
f({ selector: u })
|
|
82
|
+
], o);
|
|
83
|
+
export {
|
|
84
|
+
o as OsLeaderboardCasinoGames
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=games-section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"games-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/games-section/games-section.ts"],"sourcesContent":["import { html, LitElement, nothing, type TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport KeenSlider, { type KeenSliderInstance } from 'keen-slider';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_GAMES } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type {\n OsLeaderboardCasinoGameItem,\n OsLeaderboardCasinoGamesSection,\n} from '@os-leaderboard-casino/types/sections.js';\nimport { iconService } from '@os-leaderboard-casino/services/icon.service.js';\nimport type { GamesSectionHost } from './games-section.host.js';\nimport renderTemplate from './games-section.html?lit-html';\nimport styles from './games-section.scss?inline';\n\nconst SLIDER_MEDIA_QUERY = '(max-width: 767px)';\n\n/** Qualifying games — title + provider cards in a horizontal row. */\n@Component({ selector: OS_LEADERBOARD_CASINO_GAMES })\nexport class OsLeaderboardCasinoGames\n extends LitElement\n implements GamesSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n private _slider?: KeenSliderInstance;\n private _sliderMq?: MediaQueryList;\n private readonly _onSliderMqChange = () => this._syncSlider();\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoGamesSection;\n\n get sectionTitle(): string {\n return this.section?.title ?? 'Qualifying Games';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._sliderMq = window.matchMedia(SLIDER_MEDIA_QUERY);\n this._sliderMq.addEventListener('change', this._onSliderMqChange);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._sliderMq?.removeEventListener('change', this._onSliderMqChange);\n this._sliderMq = undefined;\n this._destroySlider();\n }\n\n protected updated() {\n this._syncSlider();\n }\n\n private _destroySlider() {\n this._slider?.destroy();\n this._slider = undefined;\n\n const el = this.shadowRoot?.querySelector<HTMLElement>('.games-row');\n if (el) el.classList.remove('keen-slider');\n }\n\n private _syncSlider = () => {\n const games = this.section?.games ?? [];\n if (!games.length) return;\n\n const el = this.shadowRoot?.querySelector<HTMLElement>('.games-row');\n if (!el) return;\n\n // TODO: slider is shown only on small screens\n const useSlider = this._sliderMq?.matches ?? false;\n\n if (!useSlider) {\n this._destroySlider();\n return;\n }\n\n el.classList.add('keen-slider');\n\n if (!this._slider) {\n this._slider = new KeenSlider(el, {\n mode: 'free',\n slides: { perView: 'auto', spacing: 10 },\n });\n } else {\n this._slider.update();\n }\n };\n\n private renderCard(game: OsLeaderboardCasinoGameItem, index: number) {\n const iconName = iconService.resolveGameIconName(game.id, index);\n const imageUrl = game.imageUrl ?? iconService.get(iconName).url!;\n return html`\n <article class=\"card keen-slider__slide\" data-game-id=${game.id}>\n <div class=\"thumb\">\n <img\n src=${imageUrl}\n alt=${game.title}\n loading=\"lazy\"\n draggable=\"false\"\n />\n </div>\n <div class=\"body\">\n <div class=\"title\">${game.title}</div>\n </div>\n </article>\n `;\n }\n\n renderGames(): TemplateResult {\n const games = this.section?.games ?? [];\n return html`${games.map((game, index) => this.renderCard(game, index))}`;\n }\n\n render() {\n const games = this.section?.games ?? [];\n if (!games.length) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["SLIDER_MEDIA_QUERY","OsLeaderboardCasinoGames","LitElement","el","KeenSlider","game","index","iconName","iconService","imageUrl","html","games","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_GAMES"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAMA,IAAqB;AAIpB,IAAMC,IAAN,cACGC,EAEV;AAAA,EAHO,cAAA;AAAA,UAAA,GAAA,SAAA,GAQL,KAAiB,oBAAoB,MAAM,KAAK,YAAA,GAkChD,KAAQ,cAAc,MAAM;AAE1B,UAAI,EADU,KAAK,SAAS,SAAS,CAAA,GAC1B,OAAQ;AAEnB,YAAMC,IAAK,KAAK,YAAY,cAA2B,YAAY;AACnE,UAAI,CAACA,EAAI;AAKT,UAAI,EAFc,KAAK,WAAW,WAAW,KAE7B;AACd,aAAK,eAAA;AACL;AAAA,MACF;AAEA,MAAAA,EAAG,UAAU,IAAI,aAAa,GAEzB,KAAK,UAMR,KAAK,QAAQ,OAAA,IALb,KAAK,UAAU,IAAIC,EAAWD,GAAI;AAAA,QAChC,MAAM;AAAA,QACN,QAAQ,EAAE,SAAS,QAAQ,SAAS,GAAA;AAAA,MAAG,CACxC;AAAA,IAIL;AAAA,EAAA;AAAA,EAtDA,IAAI,eAAuB;AACzB,WAAO,KAAK,SAAS,SAAS;AAAA,EAChC;AAAA,EAEA,oBAAoB;AAClB,UAAM,kBAAA,GACN,KAAK,YAAY,OAAO,WAAWH,CAAkB,GACrD,KAAK,UAAU,iBAAiB,UAAU,KAAK,iBAAiB;AAAA,EAClE;AAAA,EAEA,uBAAuB;AACrB,UAAM,qBAAA,GACN,KAAK,WAAW,oBAAoB,UAAU,KAAK,iBAAiB,GACpE,KAAK,YAAY,QACjB,KAAK,eAAA;AAAA,EACP;AAAA,EAEU,UAAU;AAClB,SAAK,YAAA;AAAA,EACP;AAAA,EAEQ,iBAAiB;AACvB,SAAK,SAAS,QAAA,GACd,KAAK,UAAU;AAEf,UAAMG,IAAK,KAAK,YAAY,cAA2B,YAAY;AACnE,IAAIA,KAAIA,EAAG,UAAU,OAAO,aAAa;AAAA,EAC3C;AAAA,EA6BQ,WAAWE,GAAmCC,GAAe;AACnE,UAAMC,IAAWC,EAAY,oBAAoBH,EAAK,IAAIC,CAAK,GACzDG,IAAWJ,EAAK,YAAYG,EAAY,IAAID,CAAQ,EAAE;AAC5D,WAAOG;AAAA,8DACmDL,EAAK,EAAE;AAAA;AAAA;AAAA,kBAGnDI,CAAQ;AAAA,kBACRJ,EAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAMGA,EAAK,KAAK;AAAA;AAAA;AAAA;AAAA,EAIvC;AAAA,EAEA,cAA8B;AAC5B,UAAMM,IAAQ,KAAK,SAAS,SAAS,CAAA;AACrC,WAAOD,IAAOC,EAAM,IAAI,CAACN,GAAMC,MAAU,KAAK,WAAWD,GAAMC,CAAK,CAAC,CAAC;AAAA,EACxE;AAAA,EAEA,SAAS;AAEP,YADc,KAAK,SAAS,SAAS,CAAA,GAC1B,SACJM,EAAe,IAAI,IADAC;AAAA,EAE5B;AACF;AAnGaZ,EAIJ,SAAS,CAACa,GAA0BC,EAAKC,CAAM,CAAC;AAOvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GAVnBjB,EAWX,WAAA,WAAA,CAAA;AAXWA,IAANgB,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA6B;AAAA,GACvCnB,CAAA;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const e = ":host{display:block;width:100%;min-width:0}.hint{font-size:11px;color:var(--text-faint)}.games-row{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;min-width:0;gap:10px}.games-row.keen-slider{gap:0;overflow:hidden;position:relative;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.games-row.keen-slider[data-keen-slider-moves] *{pointer-events:none}.card{box-sizing:border-box;display:flex;flex-direction:column;min-width:0;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--panel-bg);overflow:hidden;cursor:pointer;transition:border-color var(--transition-fast)}@media(min-width:768px){.card{flex:1 1 0}}@media(max-width:767px){.card{flex:none;width:140px}}.card:hover{border-color:color-mix(in srgb,var(--gold) 35%,var(--panel-border))}.thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;overflow:hidden;background:color-mix(in srgb,var(--surface-solid) 90%,var(--violet-soft))}.thumb img{width:70px;height:70px;object-fit:contain;display:block;pointer-events:none;-webkit-user-drag:none}.card[data-game-id=gates-of-olympus] .thumb img{margin-left:16px}.body{display:flex;flex-direction:column;gap:4px;padding:7px 8px 9px}.title{font-size:11px;font-weight:800;line-height:1.25;letter-spacing:.04em;text-transform:uppercase;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}";
|
|
2
|
+
export {
|
|
3
|
+
e as default
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=games-section.scss.js.map
|
package/dist/components/os-leaderboard-casino/sections/games-section/games-section.scss.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"games-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { html as s } from "lit";
|
|
2
|
+
function a(n) {
|
|
3
|
+
return s`<section class="hero">
|
|
4
|
+
<img
|
|
5
|
+
class="banner-img"
|
|
6
|
+
?hidden=${!n.showBanner}
|
|
7
|
+
src="${n.bannerUrl}"
|
|
8
|
+
alt="${n.bannerAlt}"
|
|
9
|
+
/>
|
|
10
|
+
<div class="inner">
|
|
11
|
+
<span class="status ${n.status ?? ""}" ?hidden=${!n.showStatus}>
|
|
12
|
+
<i class="dot" ?hidden=${!n.showActiveDot}></i>
|
|
13
|
+
${n.statusLabel}
|
|
14
|
+
</span>
|
|
15
|
+
<h2>${n.section.title}</h2>
|
|
16
|
+
<p class="description" ?hidden=${!n.showDescription}>
|
|
17
|
+
${n.section.description}
|
|
18
|
+
</p>
|
|
19
|
+
<div class="pool" ?hidden=${!n.showPool}>
|
|
20
|
+
<span class="label">${n.poolLabel}</span>
|
|
21
|
+
<span class="value ${n.poolBump ? "bump" : ""}"
|
|
22
|
+
>${n.poolValueLabel}</span
|
|
23
|
+
>
|
|
24
|
+
<span class="rising" ?hidden=${!n.showRising}><i></i> rising</span>
|
|
25
|
+
</div>
|
|
26
|
+
${n.renderCountdown()}
|
|
27
|
+
</div>
|
|
28
|
+
</section>
|
|
29
|
+
`;
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
a as default
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=hero-section.html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hero-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/hero-section/hero-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<section class=\"hero\">\n <img\n class=\"banner-img\"\n ?hidden=${!host.showBanner}\n src=\"${host.bannerUrl}\"\n alt=\"${host.bannerAlt}\"\n />\n <div class=\"inner\">\n <span class=\"status ${host.status ?? ''}\" ?hidden=${!host.showStatus}>\n <i class=\"dot\" ?hidden=${!host.showActiveDot}></i>\n ${host.statusLabel}\n </span>\n <h2>${host.section.title}</h2>\n <p class=\"description\" ?hidden=${!host.showDescription}>\n ${host.section.description}\n </p>\n <div class=\"pool\" ?hidden=${!host.showPool}>\n <span class=\"label\">${host.poolLabel}</span>\n <span class=\"value ${host.poolBump ? 'bump' : ''}\"\n >${host.poolValueLabel}</span\n >\n <span class=\"rising\" ?hidden=${!host.showRising}><i></i> rising</span>\n </div>\n ${host.renderCountdown()}\n </div>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA;AAAA,cAGK,CAACD,EAAK,UAAU;AAAA,WACnBA,EAAK,SAAS;AAAA,WACdA,EAAK,SAAS;AAAA;AAAA;AAAA,0BAGCA,EAAK,UAAU,EAAE,aAAa,CAACA,EAAK,UAAU;AAAA,+BACzC,CAACA,EAAK,aAAa;AAAA,QAC1CA,EAAK,WAAW;AAAA;AAAA,UAEdA,EAAK,QAAQ,KAAK;AAAA,qCACS,CAACA,EAAK,eAAe;AAAA,QAClDA,EAAK,QAAQ,WAAW;AAAA;AAAA,gCAEA,CAACA,EAAK,QAAQ;AAAA,4BAClBA,EAAK,SAAS;AAAA,2BACfA,EAAK,WAAW,SAAS,EAAE;AAAA,WAC3CA,EAAK,cAAc;AAAA;AAAA,qCAEO,CAACA,EAAK,UAAU;AAAA;AAAA,MAE/CA,EAAK,gBAAe,CAAE;AAAA;AAAA;AAAA;AAI5B;"}
|