@oddsmith/ui 1.0.0 → 1.0.2
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/README.md +1 -1
- package/dist/components/os-leaderboard-casino/assets/fallback/defaults/glam-sections.json +3 -3
- package/dist/components/os-leaderboard-casino/assets/fallback/manifest.json +1 -1
- package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json +6 -4
- package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js +1 -1
- package/dist/components/os-leaderboard-casino/assets/fallback/themes.json +3 -4
- package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js +3 -4
- package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js.map +1 -1
- package/dist/components/os-leaderboard-casino/constants/defaults.d.ts +8 -0
- package/dist/components/os-leaderboard-casino/constants/index.d.ts +2 -0
- package/dist/components/os-leaderboard-casino/constants/tags.d.ts +22 -0
- package/dist/components/os-leaderboard-casino/constants/tags.js +6 -4
- package/dist/components/os-leaderboard-casino/constants/tags.js.map +1 -1
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.d.ts +35 -0
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.host.d.ts +13 -0
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js +5 -3
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js.map +1 -1
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js +12 -10
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js.map +1 -1
- package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js +1 -1
- package/dist/components/os-leaderboard-casino/index.d.ts +36 -0
- package/dist/components/os-leaderboard-casino/index.js +23 -23
- package/dist/components/os-leaderboard-casino/integration/assemble-assets.d.ts +21 -0
- package/dist/components/os-leaderboard-casino/integration/assets-context.d.ts +26 -0
- package/dist/components/os-leaderboard-casino/integration/assets-context.js +40 -35
- package/dist/components/os-leaderboard-casino/integration/assets-context.js.map +1 -1
- package/dist/components/os-leaderboard-casino/integration/defaults-glam.d.ts +14 -0
- package/dist/components/os-leaderboard-casino/integration/defaults-new-money.d.ts +3 -0
- package/dist/components/os-leaderboard-casino/integration/index.d.ts +5 -0
- package/dist/components/os-leaderboard-casino/integration/labels.d.ts +1 -0
- package/dist/components/os-leaderboard-casino/integration/load-assets.d.ts +9 -0
- package/dist/components/os-leaderboard-casino/integration/presets.d.ts +1 -0
- package/dist/components/os-leaderboard-casino/integration/resolve-input.d.ts +20 -0
- package/dist/components/os-leaderboard-casino/integration/resolve-input.js +31 -27
- package/dist/components/os-leaderboard-casino/integration/resolve-input.js.map +1 -1
- package/dist/components/os-leaderboard-casino/integration/themes.d.ts +1 -0
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.d.ts +18 -0
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.host.d.ts +14 -0
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js +7 -5
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js +33 -38
- package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.d.ts +5 -0
- package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js +7 -5
- package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.d.ts +16 -0
- package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.host.d.ts +8 -0
- package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js +26 -22
- package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.d.ts +10 -0
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.host.d.ts +3 -0
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js +7 -5
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js +11 -8
- package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/games-section/components/game-images.d.ts +1 -0
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.d.ts +20 -0
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.host.d.ts +7 -0
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js +5 -3
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js +15 -13
- package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/header-section/header-section.d.ts +12 -0
- package/dist/components/os-leaderboard-casino/sections/header-section/header-section.host.d.ts +8 -0
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.d.ts +37 -0
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.host.d.ts +20 -0
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js +6 -4
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js +6 -2
- package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.d.ts +18 -0
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.host.d.ts +8 -0
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js +5 -3
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js +10 -5
- package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/live-feed-section/live-feed-section.d.ts +13 -0
- package/dist/components/os-leaderboard-casino/sections/live-feed-section/live-feed-section.host.d.ts +8 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.d.ts +3 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.d.ts +14 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.d.ts +42 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.host.d.ts +8 -0
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js +5 -3
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js +26 -23
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.d.ts +6 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.d.ts +16 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js +73 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.d.ts +23 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.host.d.ts +11 -0
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js +5 -3
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js +18 -15
- package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-band/stat-band.d.ts +17 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-card/stat-card.d.ts +15 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-chip/stat-chip.d.ts +17 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-gauge/stat-gauge.d.ts +14 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.d.ts +5 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.js +11 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-meter/stat-meter.d.ts +17 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.d.ts +17 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js +63 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.scss.js +5 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.scss.js.map +1 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.d.ts +16 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.host.d.ts +13 -0
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js +5 -3
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js +20 -16
- package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.d.ts +31 -0
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.host.d.ts +15 -0
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js +5 -3
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js.map +1 -1
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js +17 -14
- package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js.map +1 -1
- package/dist/components/os-leaderboard-casino/services/adapter.service.d.ts +11 -0
- package/dist/components/os-leaderboard-casino/services/icon.service.d.ts +28 -0
- package/dist/components/os-leaderboard-casino/services/icon.service.js +10 -8
- package/dist/components/os-leaderboard-casino/services/icon.service.js.map +1 -1
- package/dist/components/os-leaderboard-casino/services/index.d.ts +2 -0
- package/dist/components/os-leaderboard-casino/theme/background.d.ts +4 -0
- package/dist/components/os-leaderboard-casino/theme/background.js +22 -0
- package/dist/components/os-leaderboard-casino/theme/background.js.map +1 -0
- package/dist/components/os-leaderboard-casino/theme/index.d.ts +3 -0
- package/dist/components/os-leaderboard-casino/theme/prize-icons.d.ts +1 -0
- package/dist/components/os-leaderboard-casino/theme/prize-resolve.d.ts +5 -0
- package/dist/components/os-leaderboard-casino/theme/styles.d.ts +9 -0
- package/dist/components/os-leaderboard-casino/theme/styles.js +3 -3
- package/dist/components/os-leaderboard-casino/theme/styles.js.map +1 -1
- package/dist/components/os-leaderboard-casino/theme/vip-icons.d.ts +2 -0
- package/dist/components/os-leaderboard-casino/theme/vip-mark.d.ts +7 -0
- package/dist/components/os-leaderboard-casino/theme/vip-mark.js +11 -9
- package/dist/components/os-leaderboard-casino/theme/vip-mark.js.map +1 -1
- package/dist/components/os-leaderboard-casino/types/assets.d.ts +42 -0
- package/dist/components/os-leaderboard-casino/types/data.d.ts +106 -0
- package/dist/components/os-leaderboard-casino/types/events.d.ts +18 -0
- package/dist/components/os-leaderboard-casino/types/icons.d.ts +18 -0
- package/dist/components/os-leaderboard-casino/types/input.d.ts +79 -0
- package/dist/components/os-leaderboard-casino/types/ledger.d.ts +67 -0
- package/dist/components/os-leaderboard-casino/types/sections.d.ts +200 -0
- package/dist/components/os-leaderboard-casino/types/state.d.ts +69 -0
- package/dist/shared/lib/lit/component.d.ts +5 -0
- package/dist/shared/lib/lit/safe-custom-element.d.ts +5 -0
- package/dist/shared/lib/lit/scss.d.ts +3 -0
- package/dist/shared/lib/lit/scss.js +4 -4
- package/dist/shared/lib/lit/template.d.ts +3 -0
- package/dist/shared/vendor/lit-element-lit-element.js +45 -0
- package/dist/shared/vendor/lit-element-lit-element.js.map +1 -0
- package/dist/shared/vendor/lit-html-directive-helpers.js +32 -0
- package/dist/shared/vendor/lit-html-directive-helpers.js.map +1 -0
- package/dist/shared/vendor/lit-html-directive.js +23 -0
- package/dist/shared/vendor/lit-html-directive.js.map +1 -0
- package/dist/shared/vendor/lit-html-keyed.js +18 -0
- package/dist/shared/vendor/lit-html-keyed.js.map +1 -0
- package/dist/shared/vendor/lit-html-lit-html.js +234 -0
- package/dist/shared/vendor/lit-html-lit-html.js.map +1 -0
- package/dist/shared/vendor/lit-html-repeat.js +57 -0
- package/dist/shared/vendor/lit-html-repeat.js.map +1 -0
- package/dist/shared/vendor/lit-html-unsafe-html.js +21 -0
- package/dist/shared/vendor/lit-html-unsafe-html.js.map +1 -0
- package/dist/shared/vendor/lit-html-unsafe-svg.js +10 -0
- package/dist/shared/vendor/lit-html-unsafe-svg.js.map +1 -0
- package/dist/shared/vendor/lit-reactive-element-base.js +5 -0
- package/dist/shared/vendor/lit-reactive-element-base.js.map +1 -0
- package/dist/shared/vendor/lit-reactive-element-css-tag.js +46 -0
- package/dist/shared/vendor/lit-reactive-element-css-tag.js.map +1 -0
- package/dist/shared/vendor/lit-reactive-element-property.js +33 -0
- package/dist/shared/vendor/lit-reactive-element-property.js.map +1 -0
- package/dist/shared/vendor/lit-reactive-element-query.js +13 -0
- package/dist/shared/vendor/lit-reactive-element-query.js.map +1 -0
- package/dist/shared/vendor/lit-reactive-element-reactive-element.js +226 -0
- package/dist/shared/vendor/lit-reactive-element-reactive-element.js.map +1 -0
- package/dist/shared/vendor/lit-reactive-element-state.js +8 -0
- package/dist/shared/vendor/lit-reactive-element-state.js.map +1 -0
- package/package.json +5 -2
- package/dist/index.d.ts +0 -734
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { LeaderboardCasinoAssetsBundle, LeaderboardCasinoAssetsPreset, LeaderboardCasinoAssetsTheme } from '../types/assets.js';
|
|
2
|
+
import { LeaderboardCasinoPresetId, LeaderboardCasinoPresetMeta } from '../types/input.js';
|
|
3
|
+
import { OsLeaderboardCasinoState } from '../types/state.js';
|
|
4
|
+
export type OsLeaderboardCasinoPresetLabels = LeaderboardCasinoAssetsBundle['labels'];
|
|
5
|
+
export type OsLeaderboardCasinoThemeId = string;
|
|
6
|
+
export type OsLeaderboardCasinoThemeOption = LeaderboardCasinoAssetsTheme;
|
|
7
|
+
export type OsLeaderboardCasinoPreset = LeaderboardCasinoAssetsPreset;
|
|
8
|
+
export declare function resolveAssetsBundle(assets?: LeaderboardCasinoAssetsBundle | null): LeaderboardCasinoAssetsBundle;
|
|
9
|
+
export declare function getFallbackAssetsBundle(): LeaderboardCasinoAssetsBundle;
|
|
10
|
+
export declare function getBundleLabels(bundle: LeaderboardCasinoAssetsBundle): OsLeaderboardCasinoPresetLabels;
|
|
11
|
+
export declare function getBundleCatalog(bundle: LeaderboardCasinoAssetsBundle): readonly LeaderboardCasinoPresetMeta[];
|
|
12
|
+
export declare function getBundlePresets(bundle: LeaderboardCasinoAssetsBundle): readonly OsLeaderboardCasinoPreset[];
|
|
13
|
+
export declare function getBundleDefaultPresetId(bundle: LeaderboardCasinoAssetsBundle): LeaderboardCasinoPresetId;
|
|
14
|
+
export declare function getBundleThemes(bundle: LeaderboardCasinoAssetsBundle): readonly OsLeaderboardCasinoThemeOption[];
|
|
15
|
+
export declare function getOsLeaderboardCasinoPreset(id: string, bundle?: LeaderboardCasinoAssetsBundle): OsLeaderboardCasinoPreset | undefined;
|
|
16
|
+
export declare function getTheme(id: OsLeaderboardCasinoThemeId, bundle?: LeaderboardCasinoAssetsBundle): OsLeaderboardCasinoThemeOption;
|
|
17
|
+
export declare function getThemeVars(id: OsLeaderboardCasinoThemeId, bundle?: LeaderboardCasinoAssetsBundle): Record<string, string>;
|
|
18
|
+
export declare function resolvePresetState(presetId: string, bundle?: LeaderboardCasinoAssetsBundle): OsLeaderboardCasinoState;
|
|
19
|
+
/** Bundled fallback exports for dev tooling. */
|
|
20
|
+
export declare const OS_LEADERBOARD_CASINO_LABELS: import('../index.js').LeaderboardCasinoLabels;
|
|
21
|
+
export declare const OS_LEADERBOARD_CASINO_THEMES: readonly LeaderboardCasinoAssetsTheme[];
|
|
22
|
+
export declare const OS_LEADERBOARD_CASINO_PRESETS: readonly LeaderboardCasinoAssetsPreset[];
|
|
23
|
+
export declare const DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID: "golden";
|
|
24
|
+
export declare const LEADERBOARD_CASINO_PRESET_CATALOG: readonly LeaderboardCasinoPresetMeta[];
|
|
25
|
+
export declare const playgroundThemes: readonly LeaderboardCasinoAssetsTheme[];
|
|
26
|
+
export declare function getPlaygroundTheme(id: string, bundle?: LeaderboardCasinoAssetsBundle): OsLeaderboardCasinoThemeOption;
|
|
@@ -1,64 +1,69 @@
|
|
|
1
|
-
import u from "../
|
|
1
|
+
import { resolveBackgroundVars as u } from "../theme/background.js";
|
|
2
|
+
import c from "../assets/fallback/catalog.json.js";
|
|
2
3
|
import l from "../assets/fallback/labels.json.js";
|
|
3
|
-
import
|
|
4
|
+
import a from "../assets/fallback/presets.json.js";
|
|
4
5
|
import m from "../assets/fallback/resolved-presets.json.js";
|
|
5
|
-
import
|
|
6
|
+
import d from "../assets/fallback/themes.json.js";
|
|
6
7
|
import { assembleAssetsBundle as A } from "./assemble-assets.js";
|
|
7
8
|
const t = A({
|
|
8
9
|
labels: l,
|
|
9
|
-
themes:
|
|
10
|
-
presets:
|
|
11
|
-
catalog:
|
|
10
|
+
themes: d,
|
|
11
|
+
presets: a,
|
|
12
|
+
catalog: c,
|
|
12
13
|
resolvedPresets: m
|
|
13
14
|
});
|
|
14
|
-
function
|
|
15
|
+
function L(e) {
|
|
15
16
|
return e ?? t;
|
|
16
17
|
}
|
|
17
|
-
function
|
|
18
|
+
function P() {
|
|
18
19
|
return t;
|
|
19
20
|
}
|
|
20
|
-
function
|
|
21
|
+
function R(e) {
|
|
21
22
|
return e.labels;
|
|
22
23
|
}
|
|
23
|
-
function
|
|
24
|
+
function f(e) {
|
|
24
25
|
return e.presets.presets;
|
|
25
26
|
}
|
|
26
|
-
function
|
|
27
|
+
function i(e) {
|
|
27
28
|
return e.presets.defaultPresetId;
|
|
28
29
|
}
|
|
29
|
-
function
|
|
30
|
+
function o(e) {
|
|
30
31
|
return e.themes;
|
|
31
32
|
}
|
|
32
|
-
function
|
|
33
|
-
return
|
|
33
|
+
function I(e, s = t) {
|
|
34
|
+
return f(s).find((r) => r.id === e);
|
|
34
35
|
}
|
|
35
|
-
function
|
|
36
|
-
return
|
|
36
|
+
function E(e, s = t) {
|
|
37
|
+
return o(s).find((r) => r.id === e) ?? o(s)[0];
|
|
37
38
|
}
|
|
38
|
-
function
|
|
39
|
-
|
|
39
|
+
function h(e, s = t) {
|
|
40
|
+
const r = E(e, s), n = r.background ? u(r.background) : null;
|
|
41
|
+
return {
|
|
42
|
+
...r.vars ?? {},
|
|
43
|
+
...n ?? {}
|
|
44
|
+
};
|
|
40
45
|
}
|
|
41
|
-
function
|
|
42
|
-
const r =
|
|
43
|
-
return structuredClone(
|
|
46
|
+
function v(e, s = t) {
|
|
47
|
+
const r = i(s), n = s.resolvedPresets[e] ?? s.resolvedPresets[r];
|
|
48
|
+
return structuredClone(n);
|
|
44
49
|
}
|
|
45
|
-
const C = t.labels, T = t.themes,
|
|
50
|
+
const C = t.labels, T = t.themes, b = t.presets.presets, N = t.presets.defaultPresetId, k = t.catalog;
|
|
46
51
|
t.themes;
|
|
47
52
|
export {
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
N as DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID,
|
|
54
|
+
k as LEADERBOARD_CASINO_PRESET_CATALOG,
|
|
50
55
|
C as OS_LEADERBOARD_CASINO_LABELS,
|
|
51
|
-
|
|
56
|
+
b as OS_LEADERBOARD_CASINO_PRESETS,
|
|
52
57
|
T as OS_LEADERBOARD_CASINO_THEMES,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
i as getBundleDefaultPresetId,
|
|
59
|
+
R as getBundleLabels,
|
|
60
|
+
f as getBundlePresets,
|
|
61
|
+
o as getBundleThemes,
|
|
62
|
+
P as getFallbackAssetsBundle,
|
|
63
|
+
I as getOsLeaderboardCasinoPreset,
|
|
64
|
+
E as getTheme,
|
|
65
|
+
h as getThemeVars,
|
|
66
|
+
L as resolveAssetsBundle,
|
|
67
|
+
v as resolvePresetState
|
|
63
68
|
};
|
|
64
69
|
//# sourceMappingURL=assets-context.js.map
|
|
@@ -1 +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
|
|
1
|
+
{"version":3,"file":"assets-context.js","sources":["../../../../src/components/os-leaderboard-casino/integration/assets-context.ts"],"sourcesContent":["import { resolveBackgroundVars } from '../theme/background.js';\nimport 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 const theme = getTheme(id, bundle);\n const backgroundVars = theme.background\n ? resolveBackgroundVars(theme.background)\n : null;\n return {\n ...(theme.vars ?? {}),\n ...(backgroundVars ?? {}),\n };\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","backgroundVars","resolveBackgroundVars","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":";;;;;;;AA6BA,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,QAAMmB,IAAQD,EAASF,GAAIL,CAAM,GAC3BU,IAAiBF,EAAM,aACzBG,EAAsBH,EAAM,UAAU,IACtC;AACJ,SAAO;AAAA,IACL,GAAIA,EAAM,QAAQ,CAAA;AAAA,IAClB,GAAIE,KAAkB,CAAA;AAAA,EAAC;AAE3B;AAEO,SAASE,EACdC,GACAb,IAAwCX,GACd;AAC1B,QAAMyB,IAAYZ,EAAyBF,CAAM,GAC3Ce,IACJf,EAAO,gBAAgBa,CAAQ,KAAKb,EAAO,gBAAgBc,CAAS;AACtE,SAAO,gBAAgBC,CAAQ;AACjC;AAGO,MAAMC,IAA+B3B,EAAgB,QAC/C4B,IAA+B5B,EAAgB,QAC/C6B,IAAgC7B,EAAgB,QAAQ,SACxD8B,IACX9B,EAAgB,QAAQ,iBACb+B,IAAoC/B,EAAgB;AACjCA,EAAgB;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { QuizLeaderboard, UserRank } from '../types/data.js';
|
|
2
|
+
import { OsLeaderboardCasinoClimbSection, OsLeaderboardCasinoEventItem, OsLeaderboardCasinoFeedItem, OsLeaderboardCasinoGameItem, OsLeaderboardCasinoMarqueeItem } from '../types/sections.js';
|
|
3
|
+
export declare const mockLeaderboard: QuizLeaderboard;
|
|
4
|
+
export declare const mockPrizePoolValue = 128450;
|
|
5
|
+
export declare const mockBiggestWin = 9600;
|
|
6
|
+
export declare const mockTotalParticipants = 12842;
|
|
7
|
+
export declare const mockUsers: UserRank[];
|
|
8
|
+
export declare const mockCurrentUser: UserRank;
|
|
9
|
+
export declare const mockMarqueeItems: OsLeaderboardCasinoMarqueeItem[];
|
|
10
|
+
export declare const mockEvents: OsLeaderboardCasinoEventItem[];
|
|
11
|
+
export declare const mockGames: OsLeaderboardCasinoGameItem[];
|
|
12
|
+
export declare const mockClimb: OsLeaderboardCasinoClimbSection;
|
|
13
|
+
export declare const mockFeedItems: OsLeaderboardCasinoFeedItem[];
|
|
14
|
+
export declare const FEED_TICKER_POOL: Omit<OsLeaderboardCasinoFeedItem, 'id' | 'timestamp'>[];
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { mockClimb, mockCurrentUser, mockEvents, mockFeedItems, mockGames, mockLeaderboard, mockMarqueeItems, mockPrizePoolValue as glamPrizePoolValue, mockTotalParticipants, mockUsers, FEED_TICKER_POOL, } from './defaults-glam.js';
|
|
2
|
+
export { BOOST_GAMES, demoCountdownEndTs, mockClimb as newMoneyClimb, mockEvents as newMoneyEvents, mockFeedItems as newMoneyFeedItems, mockMarqueeItems as newMoneyMarqueeItems, mockPlayers, mockPrizePoolValue as newMoneyPrizePoolValue, mockPrizeTiers, mockTotalParticipants as newMoneyTotalParticipants, } from './defaults-new-money-data.js';
|
|
3
|
+
export { labelText } from '../types/data.js';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { LEADERBOARD_CASINO_PRESET_CATALOG, applyLeaderboardCasinoInput, resolveLeaderboardCasinoInput, type LeaderboardCasinoHost, } from './resolve-input.js';
|
|
2
|
+
export { DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID, OS_LEADERBOARD_CASINO_PRESETS, getOsLeaderboardCasinoPreset, resolvePresetState, type OsLeaderboardCasinoPreset, } from './presets.js';
|
|
3
|
+
export { OS_LEADERBOARD_CASINO_LABELS, getFallbackAssetsBundle, getBundleCatalog, getBundleDefaultPresetId, getBundleLabels, getBundlePresets, getBundleThemes, resolveAssetsBundle, type OsLeaderboardCasinoPresetLabels, } from './assets-context.js';
|
|
4
|
+
export { getPlaygroundTheme, getTheme, getThemeVars, OS_LEADERBOARD_CASINO_THEMES, playgroundThemes, type OsLeaderboardCasinoThemeId, } from './themes.js';
|
|
5
|
+
export { assembleAssetsBundle, LEADERBOARD_CASINO_ASSET_FILES, loadAssetsFromBaseUrl, loadLeaderboardCasinoAssets, LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE, } from './load-assets.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { OS_LEADERBOARD_CASINO_LABELS, type OsLeaderboardCasinoPresetLabels, } from './assets-context.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LeaderboardCasinoAssetsBundle } from '../types/assets.js';
|
|
2
|
+
export { assembleAssetsBundle, LEADERBOARD_CASINO_ASSET_FILES, loadAssetsFromBaseUrl, } from './assemble-assets.js';
|
|
3
|
+
/** Default path under parent app static `assets/`. */
|
|
4
|
+
export declare const LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE = "/assets/producer_output/os-leaderboard-casino/free";
|
|
5
|
+
/**
|
|
6
|
+
* Load free-tier JSON from the parent app. Falls back to bundled
|
|
7
|
+
* `assets/fallback/*.json` when remote files fail.
|
|
8
|
+
*/
|
|
9
|
+
export declare function loadLeaderboardCasinoAssets(baseUrl?: string): Promise<LeaderboardCasinoAssetsBundle>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID, getOsLeaderboardCasinoPreset, LEADERBOARD_CASINO_PRESET_CATALOG, OS_LEADERBOARD_CASINO_PRESETS, resolvePresetState, type OsLeaderboardCasinoPreset, } from './assets-context.js';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LeaderboardCasinoAssetsBundle } from '../types/assets.js';
|
|
2
|
+
import { LeaderboardCasinoInput } from '../types/input.js';
|
|
3
|
+
import { OsLeaderboardCasinoState } from '../types/state.js';
|
|
4
|
+
import { LEADERBOARD_CASINO_PRESET_CATALOG } from './assets-context.js';
|
|
5
|
+
export { LEADERBOARD_CASINO_PRESET_CATALOG };
|
|
6
|
+
/**
|
|
7
|
+
* Resolve integration input into render state using the provided assets bundle.
|
|
8
|
+
* Falls back to bundled `assets/fallback/fallback.json` when `assets` is omitted.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveLeaderboardCasinoInput(input: LeaderboardCasinoInput, assets?: LeaderboardCasinoAssetsBundle | null): OsLeaderboardCasinoState;
|
|
11
|
+
export type LeaderboardCasinoHost = HTMLElement & {
|
|
12
|
+
state: OsLeaderboardCasinoState;
|
|
13
|
+
uuid?: string;
|
|
14
|
+
finished?: boolean;
|
|
15
|
+
input?: LeaderboardCasinoInput | null;
|
|
16
|
+
assets?: LeaderboardCasinoAssetsBundle | null;
|
|
17
|
+
assetsBaseUrl?: string;
|
|
18
|
+
};
|
|
19
|
+
/** Apply input (+ optional assets bundle) to a mounted element. */
|
|
20
|
+
export declare function applyLeaderboardCasinoInput(host: LeaderboardCasinoHost, input: LeaderboardCasinoInput, assets?: LeaderboardCasinoAssetsBundle | null): void;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { getBundleDefaultPresetId as
|
|
2
|
-
import { LEADERBOARD_CASINO_PRESET_CATALOG as
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { getBundleDefaultPresetId as u, getOsLeaderboardCasinoPreset as a, resolvePresetState as f, getBundleLabels as b, getThemeVars as g, getTheme as p, resolveAssetsBundle as m } from "./assets-context.js";
|
|
2
|
+
import { LEADERBOARD_CASINO_PRESET_CATALOG as z } from "./assets-context.js";
|
|
3
|
+
import { resolveBackgroundVars as P } from "../theme/background.js";
|
|
4
|
+
function h(e, n, r, s) {
|
|
5
|
+
const o = e.branding?.themeId;
|
|
6
|
+
return !o || p(o, s).appearance !== n ? r : o;
|
|
6
7
|
}
|
|
7
|
-
function
|
|
8
|
+
function d(e) {
|
|
8
9
|
return {
|
|
9
10
|
username: e.username,
|
|
10
11
|
rank: e.rank,
|
|
@@ -15,7 +16,7 @@ function l(e) {
|
|
|
15
16
|
you: e.isCurrentUser ?? !1
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
|
-
function
|
|
19
|
+
function c(e) {
|
|
19
20
|
const n = e.winnings ?? e.points ?? 0;
|
|
20
21
|
return {
|
|
21
22
|
id: e.id ?? `player-${e.rank}`,
|
|
@@ -30,7 +31,7 @@ function d(e) {
|
|
|
30
31
|
badges: []
|
|
31
32
|
};
|
|
32
33
|
}
|
|
33
|
-
function
|
|
34
|
+
function k(e, n) {
|
|
34
35
|
n && (e.sections.hero && (e.sections.hero = {
|
|
35
36
|
...e.sections.hero,
|
|
36
37
|
...n.title != null ? { title: n.title } : {},
|
|
@@ -49,51 +50,54 @@ function m(e, n) {
|
|
|
49
50
|
}
|
|
50
51
|
function C(e, n) {
|
|
51
52
|
if (!n?.length || !e.sections.table) return;
|
|
52
|
-
const r = [...n].sort((
|
|
53
|
+
const r = [...n].sort((o, t) => o.rank - t.rank), s = r.find((o) => o.isCurrentUser) ?? r.find((o) => o.username.toLowerCase() === "you");
|
|
53
54
|
if (e.config.appearance === "glam" && e.sections.table.mode === "preview") {
|
|
54
55
|
e.sections.table = {
|
|
55
56
|
...e.sections.table,
|
|
56
|
-
topPlayers: r.slice(0, 10).map(
|
|
57
|
-
currentUser: s ?
|
|
57
|
+
topPlayers: r.slice(0, 10).map(d),
|
|
58
|
+
currentUser: s ? d(s) : e.sections.table.currentUser
|
|
58
59
|
};
|
|
59
60
|
return;
|
|
60
61
|
}
|
|
61
62
|
if (e.sections.table.mode === "ledger") {
|
|
62
|
-
const
|
|
63
|
+
const t = r.map(c).slice(0, 8), i = s && !t.some((l) => l.id === (s.id ?? `player-${s.rank}`)) ? c(s) : void 0;
|
|
63
64
|
e.sections.table = {
|
|
64
65
|
...e.sections.table,
|
|
65
|
-
players:
|
|
66
|
+
players: t,
|
|
66
67
|
currentUser: i
|
|
67
68
|
};
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
71
|
function v(e, n) {
|
|
71
|
-
const r =
|
|
72
|
-
if (!
|
|
72
|
+
const r = m(n), s = e.preset ?? u(r), o = a(s, r);
|
|
73
|
+
if (!o)
|
|
73
74
|
throw new Error(
|
|
74
75
|
`Unknown leaderboard preset "${s}". Check assets catalog.`
|
|
75
76
|
);
|
|
76
|
-
const
|
|
77
|
+
const t = h(
|
|
77
78
|
e,
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
o.appearance,
|
|
80
|
+
o.themeId,
|
|
80
81
|
r
|
|
81
82
|
), i = f(s, r);
|
|
82
|
-
|
|
83
|
-
...
|
|
84
|
-
...
|
|
83
|
+
i.config.themeId = t, i.config.labels = {
|
|
84
|
+
...b(r),
|
|
85
|
+
...o.config.labels,
|
|
85
86
|
...e.branding?.labels
|
|
86
|
-
}
|
|
87
|
-
|
|
87
|
+
};
|
|
88
|
+
const l = e.branding?.background ? P(e.branding.background) : null;
|
|
89
|
+
return i.config.themeVars = {
|
|
90
|
+
...g(t, r),
|
|
91
|
+
...l ?? {},
|
|
88
92
|
...e.branding?.themeVars
|
|
89
|
-
},
|
|
93
|
+
}, k(i, e.campaign), C(i, e.players), i;
|
|
90
94
|
}
|
|
91
|
-
function
|
|
95
|
+
function A(e, n, r) {
|
|
92
96
|
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
97
|
}
|
|
94
98
|
export {
|
|
95
|
-
|
|
96
|
-
|
|
99
|
+
z as LEADERBOARD_CASINO_PRESET_CATALOG,
|
|
100
|
+
A as applyLeaderboardCasinoInput,
|
|
97
101
|
v as resolveLeaderboardCasinoInput
|
|
98
102
|
};
|
|
99
103
|
//# sourceMappingURL=resolve-input.js.map
|
|
@@ -1 +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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"}
|
|
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';\nimport { resolveBackgroundVars } from '@os-leaderboard-casino/theme/background.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 const backgroundVars = input.branding?.background\n ? resolveBackgroundVars(input.branding.background)\n : null;\n\n state.config.themeVars = {\n ...getThemeVars(themeId, bundle),\n ...(backgroundVars ?? {}),\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","backgroundVars","resolveBackgroundVars","getThemeVars","applyLeaderboardCasinoInput","host"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { getPlaygroundTheme, getTheme, getThemeVars, OS_LEADERBOARD_CASINO_THEMES, playgroundThemes, type OsLeaderboardCasinoThemeId, type OsLeaderboardCasinoThemeOption, } from './assets-context.js';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { LitElement, nothing, TemplateResult } from 'lit';
|
|
2
|
+
import { OsLeaderboardCasinoClimbSection } from '../../types/sections.js';
|
|
3
|
+
import { ClimbSectionHost } from './climb-section.host.js';
|
|
4
|
+
/** "Your climb" — progress towards the next prize tier with rank trend. */
|
|
5
|
+
export declare class OsLeaderboardCasinoClimb extends LitElement implements ClimbSectionHost {
|
|
6
|
+
static styles: import('lit').CSSResult[];
|
|
7
|
+
section: OsLeaderboardCasinoClimbSection;
|
|
8
|
+
get climbTitle(): string;
|
|
9
|
+
get pointsLabel(): string;
|
|
10
|
+
get trendClass(): string;
|
|
11
|
+
renderTrend(): TemplateResult;
|
|
12
|
+
get pointsToNextLabel(): string;
|
|
13
|
+
get nextTierRank(): number;
|
|
14
|
+
get nextTierLabel(): string;
|
|
15
|
+
get progressPct(): number;
|
|
16
|
+
renderName(): TemplateResult;
|
|
17
|
+
render(): TemplateResult | typeof nothing;
|
|
18
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TemplateResult } from 'lit';
|
|
2
|
+
import { OsLeaderboardCasinoClimbSection } from '../../types/sections.js';
|
|
3
|
+
export interface ClimbSectionHost {
|
|
4
|
+
section: OsLeaderboardCasinoClimbSection;
|
|
5
|
+
climbTitle: string;
|
|
6
|
+
pointsLabel: string;
|
|
7
|
+
trendClass: string;
|
|
8
|
+
pointsToNextLabel: string;
|
|
9
|
+
nextTierRank: number;
|
|
10
|
+
nextTierLabel: string;
|
|
11
|
+
progressPct: number;
|
|
12
|
+
renderName(): TemplateResult;
|
|
13
|
+
renderTrend(): TemplateResult;
|
|
14
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
|
|
2
|
+
import { html as s } from "../../../../shared/vendor/lit-html-lit-html.js";
|
|
3
|
+
import "../../../../shared/vendor/lit-element-lit-element.js";
|
|
4
|
+
function l(a) {
|
|
5
|
+
return s`<section>
|
|
4
6
|
<div class="section-header">
|
|
5
7
|
<h2 class="section-title">${a.climbTitle}</h2>
|
|
6
8
|
</div>
|
|
@@ -23,7 +25,7 @@ function i(a) {
|
|
|
23
25
|
</span>
|
|
24
26
|
<span class="target">
|
|
25
27
|
<span class="target-label">next:</span>
|
|
26
|
-
<em>${a.
|
|
28
|
+
<em>${a.nextTierLabel}</em>
|
|
27
29
|
</span>
|
|
28
30
|
</div>
|
|
29
31
|
<div
|
|
@@ -41,6 +43,6 @@ function i(a) {
|
|
|
41
43
|
`;
|
|
42
44
|
}
|
|
43
45
|
export {
|
|
44
|
-
|
|
46
|
+
l as default
|
|
45
47
|
};
|
|
46
48
|
//# sourceMappingURL=climb-section.html.js.map
|
package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js.map
CHANGED
|
@@ -1 +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.
|
|
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.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;AAAAA;AAAAA,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,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAMTA,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA,0CAICA,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAM1D;"}
|
|
@@ -1,27 +1,28 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
|
|
2
|
+
import { html as m, nothing as f } from "../../../../shared/vendor/lit-html-lit-html.js";
|
|
3
|
+
import { LitElement as u } from "../../../../shared/vendor/lit-element-lit-element.js";
|
|
4
|
+
import { property as b } from "../../../../shared/vendor/lit-reactive-element-property.js";
|
|
5
|
+
import { unsafeSVG as p } from "../../../../shared/vendor/lit-html-unsafe-svg.js";
|
|
4
6
|
import g from "../../assets/icons/table.rank-up.svg.js";
|
|
5
7
|
import h from "../../assets/icons/table.rank-down.svg.js";
|
|
6
|
-
import
|
|
7
|
-
import { Component as
|
|
8
|
-
import { scss as
|
|
9
|
-
import { OS_LEADERBOARD_CASINO_CLIMB as
|
|
10
|
-
import { osLeaderboardCasinoTheme as
|
|
11
|
-
import { renderPlayerName as
|
|
12
|
-
import { iconService as l } from "../../services/icon.service.js";
|
|
8
|
+
import d from "../../assets/icons/table.rank-neutral.svg.js";
|
|
9
|
+
import { Component as v } from "../../../../shared/lib/lit/component.js";
|
|
10
|
+
import { scss as x } from "../../../../shared/lib/lit/scss.js";
|
|
11
|
+
import { OS_LEADERBOARD_CASINO_CLIMB as L } from "../../constants/tags.js";
|
|
12
|
+
import { osLeaderboardCasinoTheme as S } from "../../theme/styles.js";
|
|
13
|
+
import { renderPlayerName as T } from "../../theme/vip-mark.js";
|
|
13
14
|
import _ from "./climb-section.html.js";
|
|
14
15
|
import C from "./climb-section.scss.js";
|
|
15
|
-
var O = Object.defineProperty,
|
|
16
|
-
for (var r =
|
|
17
|
-
(a =
|
|
18
|
-
return
|
|
16
|
+
var O = Object.defineProperty, w = Object.getOwnPropertyDescriptor, l = (t, e, s, o) => {
|
|
17
|
+
for (var r = o > 1 ? void 0 : o ? w(e, s) : e, i = t.length - 1, a; i >= 0; i--)
|
|
18
|
+
(a = t[i]) && (r = (o ? a(e, s, r) : a(r)) || r);
|
|
19
|
+
return o && r && O(e, s, r), r;
|
|
19
20
|
};
|
|
20
|
-
function c(
|
|
21
|
-
return
|
|
21
|
+
function c(t) {
|
|
22
|
+
return t.replace("<svg ", '<svg viewBox="0 0 512 512" ');
|
|
22
23
|
}
|
|
23
|
-
const
|
|
24
|
-
let
|
|
24
|
+
const N = c(g), $ = c(h), y = c(d);
|
|
25
|
+
let n = class extends u {
|
|
25
26
|
get climbTitle() {
|
|
26
27
|
return this.section?.title ?? "Your climb";
|
|
27
28
|
}
|
|
@@ -29,12 +30,12 @@ let o = class extends u {
|
|
|
29
30
|
return `${this.section.points.toLocaleString()} pts`;
|
|
30
31
|
}
|
|
31
32
|
get trendClass() {
|
|
32
|
-
const
|
|
33
|
-
return
|
|
33
|
+
const t = this.section?.trend ?? 0;
|
|
34
|
+
return t > 0 ? "up" : t < 0 ? "down" : "flat";
|
|
34
35
|
}
|
|
35
36
|
renderTrend() {
|
|
36
|
-
const
|
|
37
|
-
return
|
|
37
|
+
const t = this.section?.trend ?? 0;
|
|
38
|
+
return t > 0 ? m`${p(N)}<b>${t}</b>` : t < 0 ? m`${p($)}<b>${Math.abs(t)}</b>` : m`${p(y)}<b>steady</b>`;
|
|
38
39
|
}
|
|
39
40
|
get pointsToNextLabel() {
|
|
40
41
|
return `${this.section.pointsToNextTier.toLocaleString()} pts`;
|
|
@@ -45,30 +46,24 @@ let o = class extends u {
|
|
|
45
46
|
get nextTierLabel() {
|
|
46
47
|
return this.section.nextTierLabel;
|
|
47
48
|
}
|
|
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
49
|
get progressPct() {
|
|
55
50
|
return Math.round(Math.min(1, Math.max(0, this.section.progress)) * 100);
|
|
56
51
|
}
|
|
57
52
|
renderName() {
|
|
58
|
-
return
|
|
53
|
+
return T(this.section.username, { vip: this.section.vip });
|
|
59
54
|
}
|
|
60
55
|
render() {
|
|
61
|
-
return this.section ? _(this) :
|
|
56
|
+
return this.section ? _(this) : f;
|
|
62
57
|
}
|
|
63
58
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
],
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
],
|
|
59
|
+
n.styles = [S, x(C)];
|
|
60
|
+
l([
|
|
61
|
+
b({ attribute: !1 })
|
|
62
|
+
], n.prototype, "section", 2);
|
|
63
|
+
n = l([
|
|
64
|
+
v({ selector: L })
|
|
65
|
+
], n);
|
|
71
66
|
export {
|
|
72
|
-
|
|
67
|
+
n as OsLeaderboardCasinoClimb
|
|
73
68
|
};
|
|
74
69
|
//# sourceMappingURL=climb-section.js.map
|
|
@@ -1 +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
|
|
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 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 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","renderPlayerName","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_CLIMB"],"mappings":";;;;;;;;;;;;;;;;;;;;AAgBA,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,IAAI,cAAsB;AACxB,WAAO,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,QAAQ,QAAQ,CAAC,IAAI,GAAG;AAAA,EACzE;AAAA,EAEA,aAAa;AACX,WAAOO,EAAiB,KAAK,QAAQ,UAAU,EAAE,KAAK,KAAK,QAAQ,KAAK;AAAA,EAC1E;AAAA,EAEA,SAAS;AACP,WAAK,KAAK,UACHC,EAAe,IAAI,IADAC;AAAAA,EAE5B;AACF;AArDaP,EAIJ,SAAS,CAACQ,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GANnBZ,EAOX,WAAA,WAAA,CAAA;AAPWA,IAANW,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA6B;AAAA,GACvCd,CAAA;"}
|