@oddsmith/ui 1.0.2 → 1.0.3

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.
@@ -46,7 +46,7 @@
46
46
  "hero": {
47
47
  "bannerAsset": {
48
48
  "uuid": "banner-1",
49
- "createdTs": "2026-06-21T19:25:10.876Z",
49
+ "createdTs": "2026-06-22T09:00:06.011Z",
50
50
  "name": "midnight-millions-banner",
51
51
  "label": "Midnight Millions",
52
52
  "comment": "",
@@ -57,7 +57,7 @@
57
57
  },
58
58
  "title": "Midnight Millions",
59
59
  "description": "Climb the board before the timer hits zero.",
60
- "endTs": "2026-06-24T19:25:10.877Z",
60
+ "endTs": "2026-06-25T09:00:06.012Z",
61
61
  "status": "active",
62
62
  "prizePoolValue": 124500,
63
63
  "prizePoolCurrency": "USD"
@@ -2,5 +2,5 @@
2
2
  "version": 1,
3
3
  "component": "os-leaderboard-casino",
4
4
  "tier": "free",
5
- "generatedAt": "2026-06-21T19:25:10.878Z"
5
+ "generatedAt": "2026-06-22T09:00:06.012Z"
6
6
  }
@@ -83,7 +83,7 @@
83
83
  "hero": {
84
84
  "bannerAsset": {
85
85
  "uuid": "banner-1",
86
- "createdTs": "2026-06-21T19:25:10.876Z",
86
+ "createdTs": "2026-06-22T09:00:06.011Z",
87
87
  "name": "midnight-millions-banner",
88
88
  "label": "Midnight Millions",
89
89
  "comment": "",
@@ -94,7 +94,7 @@
94
94
  },
95
95
  "title": "Midnight Millions",
96
96
  "description": "Climb the board before the timer hits zero.",
97
- "endTs": "2026-06-24T19:25:10.877Z",
97
+ "endTs": "2026-06-25T09:00:06.012Z",
98
98
  "status": "active",
99
99
  "prizePoolValue": 124500,
100
100
  "prizePoolCurrency": "USD"
@@ -1,4 +1,4 @@
1
- const e = { config: { appearance: "glam", themeId: "glam-default", labels: { back: "Return", live: "Live", cta: "Enter the Leaderboard" }, enabled: ["marquee", "events", "hero", "prize", "stats", "games", "climb", "table", "footer", "legals"], mainOrder: ["prize", "stats", "games", "climb", "table"], themeVars: { "--os-casino-font-display": "'Sora', system-ui, sans-serif", "--os-casino-font-body": "'Inter', system-ui, sans-serif", "--os-casino-font-mono": "ui-monospace, 'JetBrains Mono', monospace", "--os-casino-bg": "#181622", "--os-casino-bg-2": "#181622" } }, sections: { marquee: { items: [{ id: "mq-1", gameId: "slot-machine", text: "krakenbet won $4,200 on Mega Fortune", amount: 4200, currency: "USD", vip: !0 }, { id: "mq-2", gameId: "roulette", text: "marisol_v won $1,800 on Lightning Roulette", amount: 1800, currency: "USD" }, { id: "mq-3", gameId: "cards", text: "mr_midnight won $9,600 on VIP Baccarat", amount: 9600, currency: "USD", vip: !0 }], speedSec: 32 }, events: { events: [{ id: "event-1", title: "Double points weekend", subtitle: "All slots count 2× toward the board", accent: "gold" }, { id: "event-2", title: "High roller boost", subtitle: "Tables over $500 qualify for bonus tiers", accent: "violet" }] }, hero: { bannerAsset: { uuid: "banner-1", createdTs: "2026-06-21T19:25:10.876Z", name: "midnight-millions-banner", label: "Midnight Millions", comment: "", url: "", tags: [], type: "GAME", sportType: "casino" }, title: "Midnight Millions", description: "Climb the board before the timer hits zero.", endTs: "2026-06-24T19:25:10.877Z", status: "active", prizePoolValue: 124500, prizePoolCurrency: "USD" }, prize: { prizePackage: { uuid: "prize-package-1", name: "Midnight Millions", prizes: [{ uuid: "prize-1", label: { values: [{ value: "Grand Jackpot", language: "en" }], labelType: "ON_DEMAND", enValue: "Grand Jackpot" }, value: 5e4, currency: "USD", rankFrom: 1, rankTo: 1 }, { uuid: "prize-2", label: { values: [{ value: "Major Jackpot", language: "en" }], labelType: "ON_DEMAND", enValue: "Major Jackpot" }, value: 25e3, currency: "USD", rankFrom: 2, rankTo: 2 }, { uuid: "prize-3", label: { values: [{ value: "Mini Jackpot", language: "en" }], labelType: "ON_DEMAND", enValue: "Mini Jackpot" }, value: 1e4, currency: "USD", rankFrom: 3, rankTo: 3 }, { uuid: "prize-4", label: { values: [{ value: "Casino Credits", language: "en" }], labelType: "ON_DEMAND", enValue: "Casino Credits" }, value: 1e3, currency: "USD", rankFrom: 4, rankTo: 4 }, { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, { uuid: "prize-6", label: { values: [{ value: "Mystery Bonus Drop", language: "en" }], labelType: "ON_DEMAND", enValue: "Mystery Bonus Drop" }, value: 100, currency: "USD", rankFrom: 11, rankTo: 200 }] }, allocationStrategy: "BEST_PRIZE" }, stats: { totalParticipants: 12842, totalPrizes: 6, biggestWin: 9600, biggestWinCurrency: "USD" }, games: { games: [{ id: "chips", title: "Golden Chips", boost: "2×" }, { id: "cards", title: "VIP Baccarat", boost: "1.5×" }, { id: "slot-machine", title: "Mega Fortune", boost: "2×" }, { id: "roulette", title: "Lightning Roulette", boost: "1.5×" }, { id: "dice", title: "Crystal Dice", boost: "1.2×" }, { id: "gates-of-olympus", title: "Gates of Olympus", boost: "3×" }] }, climb: { username: "deep_cut", rank: 17, points: 28460, nextTierRank: 10, nextTierLabel: "Free Spins ×25", pointsToNextTier: 1240, progress: 0.62, trend: 3 }, table: { mode: "preview", topPlayers: [{ username: "krakenbet", rank: 1, points: 184200, totalBet: 14200, prize: { uuid: "prize-1", label: { values: [{ value: "Grand Jackpot", language: "en" }], labelType: "ON_DEMAND", enValue: "Grand Jackpot" }, value: 5e4, currency: "USD", rankFrom: 1, rankTo: 1 }, splitCount: 1, you: !1, vip: !0, previousRank: 3, winRate: 68, gamesPlayed: 182 }, { username: "marisol_v", rank: 2, points: 129718, totalBet: 12800, prize: { uuid: "prize-2", label: { values: [{ value: "Major Jackpot", language: "en" }], labelType: "ON_DEMAND", enValue: "Major Jackpot" }, value: 25e3, currency: "USD", rankFrom: 2, rankTo: 2 }, splitCount: 1, you: !1, previousRank: 4, winRate: 64, gamesPlayed: 168 }, { username: "mr_midnight", rank: 3, points: 100109, totalBet: 11500, prize: { uuid: "prize-3", label: { values: [{ value: "Mini Jackpot", language: "en" }], labelType: "ON_DEMAND", enValue: "Mini Jackpot" }, value: 1e4, currency: "USD", rankFrom: 3, rankTo: 3 }, splitCount: 1, you: !1, vip: !0, previousRank: 2, winRate: 61, gamesPlayed: 155 }, { username: "piotr_k", rank: 4, points: 81504, totalBet: 10200, prize: { uuid: "prize-4", label: { values: [{ value: "Casino Credits", language: "en" }], labelType: "ON_DEMAND", enValue: "Casino Credits" }, value: 1e3, currency: "USD", rankFrom: 4, rankTo: 4 }, splitCount: 1, you: !1, vip: !0, previousRank: 1, winRate: 58, gamesPlayed: 144 }, { username: "bl4ze77", rank: 5, points: 68731, totalBet: 9100, prize: { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, splitCount: 1, you: !1, previousRank: 6, winRate: 56, gamesPlayed: 138 }, { username: "ghostchip", rank: 6, points: 59419, totalBet: 8200, prize: { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, splitCount: 1, you: !1, previousRank: 5, winRate: 54, gamesPlayed: 127 }, { username: "LunaX", rank: 7, points: 52330, totalBet: 7400, prize: { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, splitCount: 1, you: !1, vip: !0, previousRank: 10, winRate: 51, gamesPlayed: 119 }, { username: "soyuz3", rank: 8, points: 46751, totalBet: 6600, prize: { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, splitCount: 1, you: !1, previousRank: 7, winRate: 49, gamesPlayed: 113 }, { username: "NovaBet", rank: 9, points: 42248, totalBet: 5800, prize: { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, splitCount: 1, you: !1, previousRank: 9, winRate: 47, gamesPlayed: 106 }, { username: "tundra_rex", rank: 10, points: 38536, totalBet: 5e3, prize: { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, splitCount: 1, you: !1, previousRank: 8, winRate: 44, gamesPlayed: 98 }], currentUser: { username: "deep_cut", rank: 17, points: 28460, totalBet: 3200, prize: { uuid: "prize-6", label: { values: [{ value: "Mystery Bonus Drop", language: "en" }], labelType: "ON_DEMAND", enValue: "Mystery Bonus Drop" }, value: 100, currency: "USD", rankFrom: 11, rankTo: 200 }, splitCount: 1, you: !0, previousRank: 20, winRate: 48, gamesPlayed: 31 }, ctaLabel: "Enter the Leaderboard" }, footer: { text: "Unused powered by oddsmith.io" }, legals: { links: [{ type: "internal", label: "Rules" }, { type: "internal", label: "FAQ" }, { type: "external", label: "Terms & Conditions", href: "https://www.google.com" }] } } }, a = {
1
+ const e = { config: { appearance: "glam", themeId: "glam-default", labels: { back: "Return", live: "Live", cta: "Enter the Leaderboard" }, enabled: ["marquee", "events", "hero", "prize", "stats", "games", "climb", "table", "footer", "legals"], mainOrder: ["prize", "stats", "games", "climb", "table"], themeVars: { "--os-casino-font-display": "'Sora', system-ui, sans-serif", "--os-casino-font-body": "'Inter', system-ui, sans-serif", "--os-casino-font-mono": "ui-monospace, 'JetBrains Mono', monospace", "--os-casino-bg": "#181622", "--os-casino-bg-2": "#181622" } }, sections: { marquee: { items: [{ id: "mq-1", gameId: "slot-machine", text: "krakenbet won $4,200 on Mega Fortune", amount: 4200, currency: "USD", vip: !0 }, { id: "mq-2", gameId: "roulette", text: "marisol_v won $1,800 on Lightning Roulette", amount: 1800, currency: "USD" }, { id: "mq-3", gameId: "cards", text: "mr_midnight won $9,600 on VIP Baccarat", amount: 9600, currency: "USD", vip: !0 }], speedSec: 32 }, events: { events: [{ id: "event-1", title: "Double points weekend", subtitle: "All slots count 2× toward the board", accent: "gold" }, { id: "event-2", title: "High roller boost", subtitle: "Tables over $500 qualify for bonus tiers", accent: "violet" }] }, hero: { bannerAsset: { uuid: "banner-1", createdTs: "2026-06-22T09:00:06.011Z", name: "midnight-millions-banner", label: "Midnight Millions", comment: "", url: "", tags: [], type: "GAME", sportType: "casino" }, title: "Midnight Millions", description: "Climb the board before the timer hits zero.", endTs: "2026-06-25T09:00:06.012Z", status: "active", prizePoolValue: 124500, prizePoolCurrency: "USD" }, prize: { prizePackage: { uuid: "prize-package-1", name: "Midnight Millions", prizes: [{ uuid: "prize-1", label: { values: [{ value: "Grand Jackpot", language: "en" }], labelType: "ON_DEMAND", enValue: "Grand Jackpot" }, value: 5e4, currency: "USD", rankFrom: 1, rankTo: 1 }, { uuid: "prize-2", label: { values: [{ value: "Major Jackpot", language: "en" }], labelType: "ON_DEMAND", enValue: "Major Jackpot" }, value: 25e3, currency: "USD", rankFrom: 2, rankTo: 2 }, { uuid: "prize-3", label: { values: [{ value: "Mini Jackpot", language: "en" }], labelType: "ON_DEMAND", enValue: "Mini Jackpot" }, value: 1e4, currency: "USD", rankFrom: 3, rankTo: 3 }, { uuid: "prize-4", label: { values: [{ value: "Casino Credits", language: "en" }], labelType: "ON_DEMAND", enValue: "Casino Credits" }, value: 1e3, currency: "USD", rankFrom: 4, rankTo: 4 }, { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, { uuid: "prize-6", label: { values: [{ value: "Mystery Bonus Drop", language: "en" }], labelType: "ON_DEMAND", enValue: "Mystery Bonus Drop" }, value: 100, currency: "USD", rankFrom: 11, rankTo: 200 }] }, allocationStrategy: "BEST_PRIZE" }, stats: { totalParticipants: 12842, totalPrizes: 6, biggestWin: 9600, biggestWinCurrency: "USD" }, games: { games: [{ id: "chips", title: "Golden Chips", boost: "2×" }, { id: "cards", title: "VIP Baccarat", boost: "1.5×" }, { id: "slot-machine", title: "Mega Fortune", boost: "2×" }, { id: "roulette", title: "Lightning Roulette", boost: "1.5×" }, { id: "dice", title: "Crystal Dice", boost: "1.2×" }, { id: "gates-of-olympus", title: "Gates of Olympus", boost: "3×" }] }, climb: { username: "deep_cut", rank: 17, points: 28460, nextTierRank: 10, nextTierLabel: "Free Spins ×25", pointsToNextTier: 1240, progress: 0.62, trend: 3 }, table: { mode: "preview", topPlayers: [{ username: "krakenbet", rank: 1, points: 184200, totalBet: 14200, prize: { uuid: "prize-1", label: { values: [{ value: "Grand Jackpot", language: "en" }], labelType: "ON_DEMAND", enValue: "Grand Jackpot" }, value: 5e4, currency: "USD", rankFrom: 1, rankTo: 1 }, splitCount: 1, you: !1, vip: !0, previousRank: 3, winRate: 68, gamesPlayed: 182 }, { username: "marisol_v", rank: 2, points: 129718, totalBet: 12800, prize: { uuid: "prize-2", label: { values: [{ value: "Major Jackpot", language: "en" }], labelType: "ON_DEMAND", enValue: "Major Jackpot" }, value: 25e3, currency: "USD", rankFrom: 2, rankTo: 2 }, splitCount: 1, you: !1, previousRank: 4, winRate: 64, gamesPlayed: 168 }, { username: "mr_midnight", rank: 3, points: 100109, totalBet: 11500, prize: { uuid: "prize-3", label: { values: [{ value: "Mini Jackpot", language: "en" }], labelType: "ON_DEMAND", enValue: "Mini Jackpot" }, value: 1e4, currency: "USD", rankFrom: 3, rankTo: 3 }, splitCount: 1, you: !1, vip: !0, previousRank: 2, winRate: 61, gamesPlayed: 155 }, { username: "piotr_k", rank: 4, points: 81504, totalBet: 10200, prize: { uuid: "prize-4", label: { values: [{ value: "Casino Credits", language: "en" }], labelType: "ON_DEMAND", enValue: "Casino Credits" }, value: 1e3, currency: "USD", rankFrom: 4, rankTo: 4 }, splitCount: 1, you: !1, vip: !0, previousRank: 1, winRate: 58, gamesPlayed: 144 }, { username: "bl4ze77", rank: 5, points: 68731, totalBet: 9100, prize: { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, splitCount: 1, you: !1, previousRank: 6, winRate: 56, gamesPlayed: 138 }, { username: "ghostchip", rank: 6, points: 59419, totalBet: 8200, prize: { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, splitCount: 1, you: !1, previousRank: 5, winRate: 54, gamesPlayed: 127 }, { username: "LunaX", rank: 7, points: 52330, totalBet: 7400, prize: { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, splitCount: 1, you: !1, vip: !0, previousRank: 10, winRate: 51, gamesPlayed: 119 }, { username: "soyuz3", rank: 8, points: 46751, totalBet: 6600, prize: { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, splitCount: 1, you: !1, previousRank: 7, winRate: 49, gamesPlayed: 113 }, { username: "NovaBet", rank: 9, points: 42248, totalBet: 5800, prize: { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, splitCount: 1, you: !1, previousRank: 9, winRate: 47, gamesPlayed: 106 }, { username: "tundra_rex", rank: 10, points: 38536, totalBet: 5e3, prize: { uuid: "prize-5", label: { values: [{ value: "Free Spins ×25", language: "en" }], labelType: "ON_DEMAND", enValue: "Free Spins ×25" }, value: 250, currency: "USD", rankFrom: 5, rankTo: 10 }, splitCount: 1, you: !1, previousRank: 8, winRate: 44, gamesPlayed: 98 }], currentUser: { username: "deep_cut", rank: 17, points: 28460, totalBet: 3200, prize: { uuid: "prize-6", label: { values: [{ value: "Mystery Bonus Drop", language: "en" }], labelType: "ON_DEMAND", enValue: "Mystery Bonus Drop" }, value: 100, currency: "USD", rankFrom: 11, rankTo: 200 }, splitCount: 1, you: !0, previousRank: 20, winRate: 48, gamesPlayed: 31 }, ctaLabel: "Enter the Leaderboard" }, footer: { text: "Unused powered by oddsmith.io" }, legals: { links: [{ type: "internal", label: "Rules" }, { type: "internal", label: "FAQ" }, { type: "external", label: "Terms & Conditions", href: "https://www.google.com" }] } } }, a = {
2
2
  golden: e
3
3
  };
4
4
  export {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Casino leaderboard — config-driven glam layout.
3
3
  *
4
- * Parent app ships producer JSON under `/assets/...` and passes it to the element:
4
+ * Parent app ships producer JSON under `/os-leaderboard-casino-config/...` and passes it to the element:
5
5
  *
6
6
  * ```ts
7
7
  * import '@oddsmith/ui/os-leaderboard-casino';
@@ -21,7 +21,7 @@
21
21
  * }, assets);
22
22
  * ```
23
23
  *
24
- * Or set `assets-base-url="/assets/producer_output/os-leaderboard-casino/free"` on the element.
24
+ * Or set `assets-base-url="/os-leaderboard-casino-config/free"` on the element.
25
25
  * Without parent assets, the bundled `assets/fallback/fallback.json` is used.
26
26
  */
27
27
  export type { LeaderboardCasinoAssetsBundle, LeaderboardCasinoAssetsInput, LeaderboardCasinoAssetsPreset, LeaderboardCasinoAssetsTheme, } from './types/assets.js';
@@ -1,7 +1,7 @@
1
1
  import { LeaderboardCasinoAssetsBundle } from '../types/assets.js';
2
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";
3
+ /** Default path under parent app `public/` static files. */
4
+ export declare const LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE = "/os-leaderboard-casino-config/free";
5
5
  /**
6
6
  * Load free-tier JSON from the parent app. Falls back to bundled
7
7
  * `assets/fallback/*.json` when remote files fail.
@@ -1,22 +1,22 @@
1
- import { getFallbackAssetsBundle as r } from "./assets-context.js";
2
- import { loadAssetsFromBaseUrl as a } from "./assemble-assets.js";
3
- import { LEADERBOARD_CASINO_ASSET_FILES as c, assembleAssetsBundle as u } from "./assemble-assets.js";
4
- const o = "/assets/producer_output/os-leaderboard-casino/free";
5
- async function n(e = o) {
1
+ import { getFallbackAssetsBundle as a } from "./assets-context.js";
2
+ import { loadAssetsFromBaseUrl as o } from "./assemble-assets.js";
3
+ import { LEADERBOARD_CASINO_ASSET_FILES as c, assembleAssetsBundle as i } from "./assemble-assets.js";
4
+ const r = "/os-leaderboard-casino-config/free";
5
+ async function l(e = r) {
6
6
  try {
7
- return await a(e);
7
+ return await o(e);
8
8
  } catch (s) {
9
9
  return console.warn(
10
10
  "[os-leaderboard-casino] Failed to load parent assets, using bundled fallback.",
11
11
  s
12
- ), r();
12
+ ), a();
13
13
  }
14
14
  }
15
15
  export {
16
16
  c as LEADERBOARD_CASINO_ASSET_FILES,
17
- o as LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE,
18
- u as assembleAssetsBundle,
19
- a as loadAssetsFromBaseUrl,
20
- n as loadLeaderboardCasinoAssets
17
+ r as LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE,
18
+ i as assembleAssetsBundle,
19
+ o as loadAssetsFromBaseUrl,
20
+ l as loadLeaderboardCasinoAssets
21
21
  };
22
22
  //# sourceMappingURL=load-assets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-assets.js","sources":["../../../../src/components/os-leaderboard-casino/integration/load-assets.ts"],"sourcesContent":["import type { LeaderboardCasinoAssetsBundle } from '../types/assets.js';\nimport { getFallbackAssetsBundle } from './assets-context.js';\nimport {\n LEADERBOARD_CASINO_ASSET_FILES,\n loadAssetsFromBaseUrl,\n} from './assemble-assets.js';\n\nexport {\n assembleAssetsBundle,\n LEADERBOARD_CASINO_ASSET_FILES,\n loadAssetsFromBaseUrl,\n} from './assemble-assets.js';\n\n/** Default path under parent app static `assets/`. */\nexport const LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE =\n '/assets/producer_output/os-leaderboard-casino/free';\n\n/**\n * Load free-tier JSON from the parent app. Falls back to bundled\n * `assets/fallback/*.json` when remote files fail.\n */\nexport async function loadLeaderboardCasinoAssets(\n baseUrl: string = LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE,\n): Promise<LeaderboardCasinoAssetsBundle> {\n try {\n return await loadAssetsFromBaseUrl(baseUrl);\n } catch (error) {\n console.warn(\n '[os-leaderboard-casino] Failed to load parent assets, using bundled fallback.',\n error,\n );\n return getFallbackAssetsBundle();\n }\n}\n"],"names":["LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE","loadLeaderboardCasinoAssets","baseUrl","loadAssetsFromBaseUrl","error","getFallbackAssetsBundle"],"mappings":";;;AAcO,MAAMA,IACX;AAMF,eAAsBC,EACpBC,IAAkBF,GACsB;AACxC,MAAI;AACF,WAAO,MAAMG,EAAsBD,CAAO;AAAA,EAC5C,SAASE,GAAO;AACd,mBAAQ;AAAA,MACN;AAAA,MACAA;AAAA,IAAA,GAEKC,EAAA;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"load-assets.js","sources":["../../../../src/components/os-leaderboard-casino/integration/load-assets.ts"],"sourcesContent":["import type { LeaderboardCasinoAssetsBundle } from '../types/assets.js';\nimport { getFallbackAssetsBundle } from './assets-context.js';\nimport {\n LEADERBOARD_CASINO_ASSET_FILES,\n loadAssetsFromBaseUrl,\n} from './assemble-assets.js';\n\nexport {\n assembleAssetsBundle,\n LEADERBOARD_CASINO_ASSET_FILES,\n loadAssetsFromBaseUrl,\n} from './assemble-assets.js';\n\n/** Default path under parent app `public/` static files. */\nexport const LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE =\n '/os-leaderboard-casino-config/free';\n\n/**\n * Load free-tier JSON from the parent app. Falls back to bundled\n * `assets/fallback/*.json` when remote files fail.\n */\nexport async function loadLeaderboardCasinoAssets(\n baseUrl: string = LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE,\n): Promise<LeaderboardCasinoAssetsBundle> {\n try {\n return await loadAssetsFromBaseUrl(baseUrl);\n } catch (error) {\n console.warn(\n '[os-leaderboard-casino] Failed to load parent assets, using bundled fallback.',\n error,\n );\n return getFallbackAssetsBundle();\n }\n}\n"],"names":["LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE","loadLeaderboardCasinoAssets","baseUrl","loadAssetsFromBaseUrl","error","getFallbackAssetsBundle"],"mappings":";;;AAcO,MAAMA,IACX;AAMF,eAAsBC,EACpBC,IAAkBF,GACsB;AACxC,MAAI;AACF,WAAO,MAAMG,EAAsBD,CAAO;AAAA,EAC5C,SAASE,GAAO;AACd,mBAAQ;AAAA,MACN;AAAA,MACAA;AAAA,IAAA,GAEKC,EAAA;AAAA,EACT;AACF;"}
@@ -37,6 +37,6 @@ export interface LeaderboardCasinoAssetsBundle {
37
37
  export interface LeaderboardCasinoAssetsInput {
38
38
  /** Full bundle — preferred when parent already loaded JSON. */
39
39
  bundle?: LeaderboardCasinoAssetsBundle | null;
40
- /** e.g. `/assets/producer_output/os-leaderboard-casino/free` — loads `bundle.json`. */
40
+ /** e.g. `/os-leaderboard-casino-config/free` — loads JSON from producer output. */
41
41
  baseUrl?: string;
42
42
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oddsmith/ui",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Brandable casino leaderboard web component",
5
5
  "keywords": [
6
6
  "casino",