@oddsmith/ui 1.0.1 → 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.
Files changed (109) hide show
  1. package/dist/components/os-leaderboard-casino/assets/fallback/config.json +1 -1
  2. package/dist/components/os-leaderboard-casino/assets/fallback/defaults/glam-sections.json +4 -4
  3. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json +1 -1
  4. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json.js +7 -7
  5. package/dist/components/os-leaderboard-casino/assets/fallback/manifest.json +1 -1
  6. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json +1 -1
  7. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json.js +1 -1
  8. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json +8 -6
  9. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js +1 -1
  10. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json +3 -4
  11. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js +3 -4
  12. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js.map +1 -1
  13. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js +5 -3
  14. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js.map +1 -1
  15. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js +7 -5
  16. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js.map +1 -1
  17. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js +1 -1
  18. package/dist/components/os-leaderboard-casino/integration/assets-context.d.ts +1 -1
  19. package/dist/components/os-leaderboard-casino/integration/assets-context.js +40 -35
  20. package/dist/components/os-leaderboard-casino/integration/assets-context.js.map +1 -1
  21. package/dist/components/os-leaderboard-casino/integration/resolve-input.js +31 -27
  22. package/dist/components/os-leaderboard-casino/integration/resolve-input.js.map +1 -1
  23. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.d.ts +0 -1
  24. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.host.d.ts +0 -1
  25. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js +7 -5
  26. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js.map +1 -1
  27. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js +33 -38
  28. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js.map +1 -1
  29. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js +7 -5
  30. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js.map +1 -1
  31. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js +26 -23
  32. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js.map +1 -1
  33. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js +7 -5
  34. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js.map +1 -1
  35. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js +11 -9
  36. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js.map +1 -1
  37. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js +5 -3
  38. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js.map +1 -1
  39. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js +15 -13
  40. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js.map +1 -1
  41. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js +6 -4
  42. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js.map +1 -1
  43. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js +6 -3
  44. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js.map +1 -1
  45. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js +5 -3
  46. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js.map +1 -1
  47. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js +10 -6
  48. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js.map +1 -1
  49. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js +5 -3
  50. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js.map +1 -1
  51. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js +26 -23
  52. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js.map +1 -1
  53. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js +10 -8
  54. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js.map +1 -1
  55. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js +5 -3
  56. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js.map +1 -1
  57. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js +4 -2
  58. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js.map +1 -1
  59. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js +17 -15
  60. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js.map +1 -1
  61. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js +5 -3
  62. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js.map +1 -1
  63. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js +15 -13
  64. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js.map +1 -1
  65. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js +5 -3
  66. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js.map +1 -1
  67. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js +16 -14
  68. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js.map +1 -1
  69. package/dist/components/os-leaderboard-casino/services/icon.service.js +10 -8
  70. package/dist/components/os-leaderboard-casino/services/icon.service.js.map +1 -1
  71. package/dist/components/os-leaderboard-casino/theme/background.d.ts +4 -0
  72. package/dist/components/os-leaderboard-casino/theme/background.js +22 -0
  73. package/dist/components/os-leaderboard-casino/theme/background.js.map +1 -0
  74. package/dist/components/os-leaderboard-casino/theme/styles.js +3 -3
  75. package/dist/components/os-leaderboard-casino/theme/styles.js.map +1 -1
  76. package/dist/components/os-leaderboard-casino/theme/vip-mark.js +11 -9
  77. package/dist/components/os-leaderboard-casino/theme/vip-mark.js.map +1 -1
  78. package/dist/components/os-leaderboard-casino/types/assets.d.ts +2 -0
  79. package/dist/components/os-leaderboard-casino/types/input.d.ts +7 -1
  80. package/dist/shared/lib/lit/scss.js +4 -4
  81. package/dist/shared/vendor/lit-element-lit-element.js +45 -0
  82. package/dist/shared/vendor/lit-element-lit-element.js.map +1 -0
  83. package/dist/shared/vendor/lit-html-directive-helpers.js +32 -0
  84. package/dist/shared/vendor/lit-html-directive-helpers.js.map +1 -0
  85. package/dist/shared/vendor/lit-html-directive.js +23 -0
  86. package/dist/shared/vendor/lit-html-directive.js.map +1 -0
  87. package/dist/shared/vendor/lit-html-keyed.js +18 -0
  88. package/dist/shared/vendor/lit-html-keyed.js.map +1 -0
  89. package/dist/shared/vendor/lit-html-lit-html.js +234 -0
  90. package/dist/shared/vendor/lit-html-lit-html.js.map +1 -0
  91. package/dist/shared/vendor/lit-html-repeat.js +57 -0
  92. package/dist/shared/vendor/lit-html-repeat.js.map +1 -0
  93. package/dist/shared/vendor/lit-html-unsafe-html.js +21 -0
  94. package/dist/shared/vendor/lit-html-unsafe-html.js.map +1 -0
  95. package/dist/shared/vendor/lit-html-unsafe-svg.js +10 -0
  96. package/dist/shared/vendor/lit-html-unsafe-svg.js.map +1 -0
  97. package/dist/shared/vendor/lit-reactive-element-base.js +5 -0
  98. package/dist/shared/vendor/lit-reactive-element-base.js.map +1 -0
  99. package/dist/shared/vendor/lit-reactive-element-css-tag.js +46 -0
  100. package/dist/shared/vendor/lit-reactive-element-css-tag.js.map +1 -0
  101. package/dist/shared/vendor/lit-reactive-element-property.js +33 -0
  102. package/dist/shared/vendor/lit-reactive-element-property.js.map +1 -0
  103. package/dist/shared/vendor/lit-reactive-element-query.js +13 -0
  104. package/dist/shared/vendor/lit-reactive-element-query.js.map +1 -0
  105. package/dist/shared/vendor/lit-reactive-element-reactive-element.js +226 -0
  106. package/dist/shared/vendor/lit-reactive-element-reactive-element.js.map +1 -0
  107. package/dist/shared/vendor/lit-reactive-element-state.js +8 -0
  108. package/dist/shared/vendor/lit-reactive-element-state.js.map +1 -0
  109. package/package.json +3 -1
@@ -3,6 +3,6 @@
3
3
  "labels": {
4
4
  "back": "Return",
5
5
  "live": "Live",
6
- "cta": "Enter the Thing"
6
+ "cta": "Enter the Leaderboard"
7
7
  }
8
8
  }
@@ -46,7 +46,7 @@
46
46
  "hero": {
47
47
  "bannerAsset": {
48
48
  "uuid": "banner-1",
49
- "createdTs": "2026-06-21T17:18:02.072Z",
49
+ "createdTs": "2026-06-21T19:25:10.876Z",
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-24T17:18:02.073Z",
60
+ "endTs": "2026-06-24T19:25:10.877Z",
61
61
  "status": "active",
62
62
  "prizePoolValue": 124500,
63
63
  "prizePoolCurrency": "USD"
@@ -203,7 +203,7 @@
203
203
  },
204
204
  {
205
205
  "id": "dice",
206
- "title": "Mega Dice",
206
+ "title": "Crystal Dice",
207
207
  "boost": "1.2×"
208
208
  },
209
209
  {
@@ -539,7 +539,7 @@
539
539
  "winRate": 48,
540
540
  "gamesPlayed": 31
541
541
  },
542
- "ctaLabel": "Enter the Thing"
542
+ "ctaLabel": "Enter the Leaderboard"
543
543
  },
544
544
  "footer": {
545
545
  "text": "Unused powered by oddsmith.io"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "back": "Return",
3
3
  "live": "Live",
4
- "cta": "Enter the Thing"
4
+ "cta": "Enter the Leaderboard"
5
5
  }
@@ -1,12 +1,12 @@
1
- const t = "Return", e = "Live", n = "Enter the Thing", c = {
2
- back: t,
3
- live: e,
4
- cta: n
1
+ const e = "Return", t = "Live", a = "Enter the Leaderboard", c = {
2
+ back: e,
3
+ live: t,
4
+ cta: a
5
5
  };
6
6
  export {
7
- t as back,
8
- n as cta,
7
+ e as back,
8
+ a as cta,
9
9
  c as default,
10
- e as live
10
+ t as live
11
11
  };
12
12
  //# sourceMappingURL=labels.json.js.map
@@ -2,5 +2,5 @@
2
2
  "version": 1,
3
3
  "component": "os-leaderboard-casino",
4
4
  "tier": "free",
5
- "generatedAt": "2026-06-21T17:18:02.074Z"
5
+ "generatedAt": "2026-06-21T19:25:10.878Z"
6
6
  }
@@ -11,7 +11,7 @@
11
11
  "labels": {
12
12
  "back": "Return",
13
13
  "live": "Live",
14
- "cta": "Enter the Thing"
14
+ "cta": "Enter the Leaderboard"
15
15
  },
16
16
  "enabled": [
17
17
  "marquee",
@@ -1,4 +1,4 @@
1
- const e = "golden", a = [{ id: "golden", label: "Golden", description: "Full glam layout — noir gold palette, prize podium, and rankings table.", appearance: "glam", themeId: "glam-default", config: { labels: { back: "Return", live: "Live", cta: "Enter the Thing" }, enabled: ["marquee", "events", "hero", "prize", "stats", "games", "climb", "table", "footer", "legals"], mainOrder: ["prize", "stats", "games", "climb", "table"] } }], t = {
1
+ const e = "golden", a = [{ id: "golden", label: "Golden", description: "Full glam layout — noir gold palette, prize podium, and rankings table.", appearance: "glam", themeId: "glam-default", config: { 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"] } }], t = {
2
2
  defaultPresetId: e,
3
3
  presets: a
4
4
  };
@@ -6,7 +6,7 @@
6
6
  "labels": {
7
7
  "back": "Return",
8
8
  "live": "Live",
9
- "cta": "Enter the Thing"
9
+ "cta": "Enter the Leaderboard"
10
10
  },
11
11
  "enabled": [
12
12
  "marquee",
@@ -30,7 +30,9 @@
30
30
  "themeVars": {
31
31
  "--os-casino-font-display": "'Sora', system-ui, sans-serif",
32
32
  "--os-casino-font-body": "'Inter', system-ui, sans-serif",
33
- "--os-casino-font-mono": "ui-monospace, 'JetBrains Mono', monospace"
33
+ "--os-casino-font-mono": "ui-monospace, 'JetBrains Mono', monospace",
34
+ "--os-casino-bg": "#181622",
35
+ "--os-casino-bg-2": "#181622"
34
36
  }
35
37
  },
36
38
  "sections": {
@@ -81,7 +83,7 @@
81
83
  "hero": {
82
84
  "bannerAsset": {
83
85
  "uuid": "banner-1",
84
- "createdTs": "2026-06-21T17:18:02.072Z",
86
+ "createdTs": "2026-06-21T19:25:10.876Z",
85
87
  "name": "midnight-millions-banner",
86
88
  "label": "Midnight Millions",
87
89
  "comment": "",
@@ -92,7 +94,7 @@
92
94
  },
93
95
  "title": "Midnight Millions",
94
96
  "description": "Climb the board before the timer hits zero.",
95
- "endTs": "2026-06-24T17:18:02.073Z",
97
+ "endTs": "2026-06-24T19:25:10.877Z",
96
98
  "status": "active",
97
99
  "prizePoolValue": 124500,
98
100
  "prizePoolCurrency": "USD"
@@ -238,7 +240,7 @@
238
240
  },
239
241
  {
240
242
  "id": "dice",
241
- "title": "Mega Dice",
243
+ "title": "Crystal Dice",
242
244
  "boost": "1.2×"
243
245
  },
244
246
  {
@@ -574,7 +576,7 @@
574
576
  "winRate": 48,
575
577
  "gamesPlayed": 31
576
578
  },
577
- "ctaLabel": "Enter the Thing"
579
+ "ctaLabel": "Enter the Leaderboard"
578
580
  },
579
581
  "footer": {
580
582
  "text": "Unused powered by oddsmith.io"
@@ -1,4 +1,4 @@
1
- const e = { config: { appearance: "glam", themeId: "glam-default", labels: { back: "Return", live: "Live", cta: "Enter the Thing" }, 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" } }, 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-21T17:18:02.072Z", 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-24T17:18:02.073Z", 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: "Mega 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 Thing" }, 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-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 = {
2
2
  golden: e
3
3
  };
4
4
  export {
@@ -4,6 +4,7 @@
4
4
  "label": "Noir Gold",
5
5
  "description": "Default casino noir — champagne gold on deep noir.",
6
6
  "appearance": "glam",
7
+ "background": "#181622",
7
8
  "vars": {
8
9
  "--os-casino-font-display": "'Sora', system-ui, sans-serif",
9
10
  "--os-casino-font-body": "'Inter', system-ui, sans-serif",
@@ -15,12 +16,11 @@
15
16
  "label": "Royal Violet",
16
17
  "description": "Regal violet and silver over midnight blue.",
17
18
  "appearance": "glam",
19
+ "background": "#070a16",
18
20
  "vars": {
19
21
  "--os-casino-font-display": "'Sora', system-ui, sans-serif",
20
22
  "--os-casino-font-body": "'Inter', system-ui, sans-serif",
21
23
  "--os-casino-font-mono": "ui-monospace, 'JetBrains Mono', monospace",
22
- "--os-casino-bg": "#070a16",
23
- "--os-casino-bg-2": "#0c1124",
24
24
  "--os-casino-surface": "rgba(22, 27, 52, 0.78)",
25
25
  "--os-casino-surface-solid": "#161b34",
26
26
  "--os-casino-surface-2": "rgba(31, 38, 72, 0.85)",
@@ -43,12 +43,11 @@
43
43
  "label": "Emerald High Roller",
44
44
  "description": "Emerald felt and mint accents — classic table vibes.",
45
45
  "appearance": "glam",
46
+ "background": "#04100b",
46
47
  "vars": {
47
48
  "--os-casino-font-display": "'Sora', system-ui, sans-serif",
48
49
  "--os-casino-font-body": "'Inter', system-ui, sans-serif",
49
50
  "--os-casino-font-mono": "ui-monospace, 'JetBrains Mono', monospace",
50
- "--os-casino-bg": "#04100b",
51
- "--os-casino-bg-2": "#071a12",
52
51
  "--os-casino-surface": "rgba(13, 38, 28, 0.8)",
53
52
  "--os-casino-surface-solid": "#0d261c",
54
53
  "--os-casino-surface-2": "rgba(18, 52, 38, 0.85)",
@@ -4,6 +4,7 @@ const o = [
4
4
  label: "Noir Gold",
5
5
  description: "Default casino noir — champagne gold on deep noir.",
6
6
  appearance: "glam",
7
+ background: "#181622",
7
8
  vars: {
8
9
  "--os-casino-font-display": "'Sora', system-ui, sans-serif",
9
10
  "--os-casino-font-body": "'Inter', system-ui, sans-serif",
@@ -15,12 +16,11 @@ const o = [
15
16
  label: "Royal Violet",
16
17
  description: "Regal violet and silver over midnight blue.",
17
18
  appearance: "glam",
19
+ background: "#070a16",
18
20
  vars: {
19
21
  "--os-casino-font-display": "'Sora', system-ui, sans-serif",
20
22
  "--os-casino-font-body": "'Inter', system-ui, sans-serif",
21
23
  "--os-casino-font-mono": "ui-monospace, 'JetBrains Mono', monospace",
22
- "--os-casino-bg": "#070a16",
23
- "--os-casino-bg-2": "#0c1124",
24
24
  "--os-casino-surface": "rgba(22, 27, 52, 0.78)",
25
25
  "--os-casino-surface-solid": "#161b34",
26
26
  "--os-casino-surface-2": "rgba(31, 38, 72, 0.85)",
@@ -43,12 +43,11 @@ const o = [
43
43
  label: "Emerald High Roller",
44
44
  description: "Emerald felt and mint accents — classic table vibes.",
45
45
  appearance: "glam",
46
+ background: "#04100b",
46
47
  vars: {
47
48
  "--os-casino-font-display": "'Sora', system-ui, sans-serif",
48
49
  "--os-casino-font-body": "'Inter', system-ui, sans-serif",
49
50
  "--os-casino-font-mono": "ui-monospace, 'JetBrains Mono', monospace",
50
- "--os-casino-bg": "#04100b",
51
- "--os-casino-bg-2": "#071a12",
52
51
  "--os-casino-surface": "rgba(13, 38, 28, 0.8)",
53
52
  "--os-casino-surface-solid": "#0d261c",
54
53
  "--os-casino-surface-2": "rgba(18, 52, 38, 0.85)",
@@ -1 +1 @@
1
- {"version":3,"file":"themes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"themes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,7 @@
1
- import { html as r } from "lit";
2
- function d(e) {
1
+ import "../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
+ import { html as r } from "../../../shared/vendor/lit-html-lit-html.js";
3
+ import "../../../shared/vendor/lit-element-lit-element.js";
4
+ function a(e) {
3
5
  return r`<div class="shell">
4
6
  ${e.renderMarquee()}
5
7
  ${e.renderEventsBanner()}
@@ -15,6 +17,6 @@ function d(e) {
15
17
  `;
16
18
  }
17
19
  export {
18
- d as default
20
+ a as default
19
21
  };
20
22
  //# sourceMappingURL=os-leaderboard-casino.html.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"os-leaderboard-casino.html.js","sources":["../../../../src/components/os-leaderboard-casino/container/os-leaderboard-casino.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<div class=\"shell\">\n ${host.renderMarquee()}\n ${host.renderEventsBanner()}\n ${host.renderHero()}\n\n <div class=\"columns\">\n <div class=\"main\">${host.renderMainSections()}</div>\n </div>\n\n ${host.renderFooter()}\n ${host.renderLegals()}\n</div>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA,IACLD,EAAK,cAAa,CAAE;AAAA,IACpBA,EAAK,mBAAkB,CAAE;AAAA,IACzBA,EAAK,WAAU,CAAE;AAAA;AAAA;AAAA,wBAGGA,EAAK,oBAAoB;AAAA;AAAA;AAAA,IAG7CA,EAAK,aAAY,CAAE;AAAA,IACnBA,EAAK,aAAY,CAAE;AAAA;AAAA;AAGvB;"}
1
+ {"version":3,"file":"os-leaderboard-casino.html.js","sources":["../../../../src/components/os-leaderboard-casino/container/os-leaderboard-casino.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<div class=\"shell\">\n ${host.renderMarquee()}\n ${host.renderEventsBanner()}\n ${host.renderHero()}\n\n <div class=\"columns\">\n <div class=\"main\">${host.renderMainSections()}</div>\n </div>\n\n ${host.renderFooter()}\n ${host.renderLegals()}\n</div>\n`;\n}\n"],"names":["render","host","html"],"mappings":";;;AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAAA,IACLD,EAAK,cAAa,CAAE;AAAA,IACpBA,EAAK,mBAAkB,CAAE;AAAA,IACzBA,EAAK,WAAU,CAAE;AAAA;AAAA;AAAA,wBAGGA,EAAK,oBAAoB;AAAA;AAAA;AAAA,IAG7CA,EAAK,aAAY,CAAE;AAAA,IACnBA,EAAK,aAAY,CAAE;AAAA;AAAA;AAGvB;"}
@@ -1,5 +1,7 @@
1
- import { LitElement as h, nothing as e, html as t } from "lit";
2
- import { property as p } from "lit/decorators.js";
1
+ import "../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
+ import { nothing as e, html as t } from "../../../shared/vendor/lit-html-lit-html.js";
3
+ import { LitElement as h } from "../../../shared/vendor/lit-element-lit-element.js";
4
+ import { property as p } from "../../../shared/vendor/lit-reactive-element-property.js";
3
5
  import { Component as m } from "../../../shared/lib/lit/component.js";
4
6
  import { scss as b } from "../../../shared/lib/lit/scss.js";
5
7
  import { OS_LEADERBOARD_CASINO_TAG as f } from "../constants/tags.js";
@@ -21,10 +23,10 @@ import "../sections/climb-section/climb-section.js";
21
23
  import "../sections/table-section/table-section.js";
22
24
  import "../sections/footer-section/footer-section.js";
23
25
  import "../sections/legals-section/legals-section.js";
24
- var _ = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, n = (s, o, l, i) => {
25
- for (var r = i > 1 ? void 0 : i ? $(o, l) : o, d = s.length - 1, u; d >= 0; d--)
26
+ var A = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, n = (s, o, l, i) => {
27
+ for (var r = i > 1 ? void 0 : i ? _(o, l) : o, d = s.length - 1, u; d >= 0; d--)
26
28
  (u = s[d]) && (r = (i ? u(o, l, r) : u(r)) || r);
27
- return i && r && _(o, l, r), r;
29
+ return i && r && A(o, l, r), r;
28
30
  };
29
31
  let a = class extends h {
30
32
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"os-leaderboard-casino.js","sources":["../../../../src/components/os-leaderboard-casino/container/os-leaderboard-casino.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport type { PropertyValues } from 'lit';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_TAG } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport {\n EMPTY_OS_LEADERBOARD_CASINO_STATE,\n type OsLeaderboardCasinoState,\n} from '@os-leaderboard-casino/types/state.js';\nimport type { OsLeaderboardCasinoLayout } from '@os-leaderboard-casino/types/sections.js';\nimport { adapterService } from '@os-leaderboard-casino/services/index.js';\nimport { iconService } from '@os-leaderboard-casino/services/icon.service.js';\nimport { resolveLeaderboardCasinoInput } from '@os-leaderboard-casino/integration/resolve-input.js';\nimport { loadLeaderboardCasinoAssets } from '@os-leaderboard-casino/integration/load-assets.js';\nimport type { LeaderboardCasinoAssetsBundle } from '@os-leaderboard-casino/types/assets.js';\nimport type { LeaderboardCasinoInput } from '@os-leaderboard-casino/types/input.js';\nimport type { OsLeaderboardCasinoHost } from './os-leaderboard-casino.host.js';\nimport renderTemplate from './os-leaderboard-casino.html?lit-html';\nimport componentStyles from './os-leaderboard-casino.scss?inline';\nimport '@os-leaderboard-casino/sections/marquee-section/marquee-section.js';\nimport '@os-leaderboard-casino/sections/events-banner/events-banner.js';\nimport '@os-leaderboard-casino/sections/hero-section/hero-section.js';\nimport '@os-leaderboard-casino/sections/prize-section/prize-section.js';\nimport '@os-leaderboard-casino/sections/stats-section/stats-section.js';\nimport '@os-leaderboard-casino/sections/games-section/games-section.js';\nimport '@os-leaderboard-casino/sections/climb-section/climb-section.js';\nimport '@os-leaderboard-casino/sections/table-section/table-section.js';\nimport '@os-leaderboard-casino/sections/footer-section/footer-section.js';\nimport '@os-leaderboard-casino/sections/legals-section/legals-section.js';\n\n/**\n * Config-driven casino leaderboard.\n * Parent provides static JSON via `.assets` or `assets-base-url`.\n * Bundled `assets/fallback/*.json` is used when parent files fail to load.\n */\n@Component({ selector: OS_LEADERBOARD_CASINO_TAG })\nexport class OsLeaderboardCasino\n extends LitElement\n implements OsLeaderboardCasinoHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(componentStyles)];\n\n @property({ attribute: false })\n assets: LeaderboardCasinoAssetsBundle | null = null;\n\n @property({ type: String, attribute: 'assets-base-url' })\n assetsBaseUrl = '';\n\n @property({ attribute: false })\n input: LeaderboardCasinoInput | null = null;\n\n @property({ attribute: false })\n state: OsLeaderboardCasinoState = EMPTY_OS_LEADERBOARD_CASINO_STATE;\n\n @property({ type: String })\n uuid = '';\n\n @property({ type: Boolean })\n finished = false;\n\n private assetsLoadTask: Promise<void> | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n void iconService.load();\n void this.ensureAssetsLoaded();\n }\n\n get layout(): OsLeaderboardCasinoLayout {\n return adapterService.toLayout(this.state);\n }\n\n get mainOrder(): string[] {\n return (\n this.layout.mainOrder ?? [\n 'prize',\n 'stats',\n 'games',\n 'climb',\n 'table',\n ]\n );\n }\n\n private async ensureAssetsLoaded(): Promise<void> {\n if (this.assets) return;\n if (!this.assetsBaseUrl) return;\n\n if (!this.assetsLoadTask) {\n this.assetsLoadTask = loadLeaderboardCasinoAssets(this.assetsBaseUrl)\n .then((bundle) => {\n this.assets = bundle;\n this.applyInputToState();\n })\n .finally(() => {\n this.assetsLoadTask = null;\n });\n }\n\n await this.assetsLoadTask;\n }\n\n private applyInputToState(): void {\n if (!this.input) return;\n this.uuid = this.input.campaign?.uuid ?? '';\n this.finished = this.input.campaign?.finished ?? false;\n this.state = resolveLeaderboardCasinoInput(this.input, this.assets);\n }\n\n protected override willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('assetsBaseUrl') && this.assetsBaseUrl && !this.assets) {\n void this.ensureAssetsLoaded();\n }\n\n if (\n (changed.has('input') || changed.has('assets')) &&\n this.input &&\n (this.assets || !this.assetsBaseUrl)\n ) {\n this.applyInputToState();\n }\n\n if (changed.has('state')) {\n adapterService.applyThemeVars(this, this.state);\n }\n }\n\n private renderMainSection(id: string) {\n const { prize, stats, games, climb, table } = this.layout;\n switch (id) {\n case 'prize':\n return prize\n ? html`<os-leaderboard-casino-prize\n .section=${prize}\n ></os-leaderboard-casino-prize>`\n : nothing;\n case 'stats':\n return stats\n ? html`<os-leaderboard-casino-stats\n .section=${stats}\n ></os-leaderboard-casino-stats>`\n : nothing;\n case 'games':\n return games\n ? html`<os-leaderboard-casino-games\n .section=${games}\n ></os-leaderboard-casino-games>`\n : nothing;\n case 'climb':\n return climb\n ? html`<os-leaderboard-casino-climb\n .section=${climb}\n ></os-leaderboard-casino-climb>`\n : nothing;\n case 'table':\n return table\n ? html`<os-leaderboard-casino-table\n .section=${table}\n uuid=${this.uuid}\n ?finished=${this.finished}\n ></os-leaderboard-casino-table>`\n : nothing;\n default:\n return nothing;\n }\n }\n\n renderMarquee() {\n const { marquee } = this.layout;\n return marquee\n ? html`<os-leaderboard-casino-marquee\n .section=${marquee}\n ></os-leaderboard-casino-marquee>`\n : nothing;\n }\n\n renderEventsBanner() {\n const { eventsBanner } = this.layout;\n return eventsBanner\n ? html`<os-leaderboard-casino-events\n .section=${eventsBanner}\n ></os-leaderboard-casino-events>`\n : nothing;\n }\n\n renderHero() {\n const { hero } = this.layout;\n return hero\n ? html`<os-leaderboard-casino-hero\n .section=${hero}\n ></os-leaderboard-casino-hero>`\n : nothing;\n }\n\n renderMainSections() {\n return html`${this.mainOrder.map((id) => this.renderMainSection(id))}`;\n }\n\n renderFooter() {\n const { footer } = this.layout;\n if (!footer?.text) {\n return nothing;\n }\n return html`<os-leaderboard-casino-footer\n .section=${footer}\n ></os-leaderboard-casino-footer>`;\n }\n\n renderLegals() {\n const { legals } = this.layout;\n if (!legals?.links?.length) return nothing;\n return html`<os-leaderboard-casino-legals\n .section=${legals}\n ></os-leaderboard-casino-legals>`;\n }\n\n protected override render() {\n return renderTemplate(this);\n }\n}\n"],"names":["OsLeaderboardCasino","LitElement","EMPTY_OS_LEADERBOARD_CASINO_STATE","iconService","adapterService","loadLeaderboardCasinoAssets","bundle","resolveLeaderboardCasinoInput","changed","id","prize","stats","games","climb","table","html","nothing","marquee","eventsBanner","hero","footer","legals","renderTemplate","osLeaderboardCasinoTheme","scss","componentStyles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_TAG"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCO,IAAMA,IAAN,cACGC,EAEV;AAAA,EAHO,cAAA;AAAA,UAAA,GAAA,SAAA,GAOL,KAAA,SAA+C,MAG/C,KAAA,gBAAgB,IAGhB,KAAA,QAAuC,MAGvC,KAAA,QAAkCC,GAGlC,KAAA,OAAO,IAGP,KAAA,WAAW,IAEX,KAAQ,iBAAuC;AAAA,EAAA;AAAA,EAEtC,oBAA0B;AACjC,UAAM,kBAAA,GACDC,EAAY,KAAA,GACZ,KAAK,mBAAA;AAAA,EACZ;AAAA,EAEA,IAAI,SAAoC;AACtC,WAAOC,EAAe,SAAS,KAAK,KAAK;AAAA,EAC3C;AAAA,EAEA,IAAI,YAAsB;AACxB,WACE,KAAK,OAAO,aAAa;AAAA,MACvB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAGN;AAAA,EAEA,MAAc,qBAAoC;AAChD,IAAI,KAAK,UACJ,KAAK,kBAEL,KAAK,mBACR,KAAK,iBAAiBC,EAA4B,KAAK,aAAa,EACjE,KAAK,CAACC,MAAW;AAChB,WAAK,SAASA,GACd,KAAK,kBAAA;AAAA,IACP,CAAC,EACA,QAAQ,MAAM;AACb,WAAK,iBAAiB;AAAA,IACxB,CAAC,IAGL,MAAM,KAAK;AAAA,EACb;AAAA,EAEQ,oBAA0B;AAChC,IAAK,KAAK,UACV,KAAK,OAAO,KAAK,MAAM,UAAU,QAAQ,IACzC,KAAK,WAAW,KAAK,MAAM,UAAU,YAAY,IACjD,KAAK,QAAQC,EAA8B,KAAK,OAAO,KAAK,MAAM;AAAA,EACpE;AAAA,EAEmB,WAAWC,GAAqC;AACjE,IAAIA,EAAQ,IAAI,eAAe,KAAK,KAAK,iBAAiB,CAAC,KAAK,UACzD,KAAK,mBAAA,IAITA,EAAQ,IAAI,OAAO,KAAKA,EAAQ,IAAI,QAAQ,MAC7C,KAAK,UACJ,KAAK,UAAU,CAAC,KAAK,kBAEtB,KAAK,kBAAA,GAGHA,EAAQ,IAAI,OAAO,KACrBJ,EAAe,eAAe,MAAM,KAAK,KAAK;AAAA,EAElD;AAAA,EAEQ,kBAAkBK,GAAY;AACpC,UAAM,EAAE,OAAAC,GAAO,OAAAC,GAAO,OAAAC,GAAO,OAAAC,GAAO,OAAAC,EAAA,IAAU,KAAK;AACnD,YAAQL,GAAA;AAAA,MACN,KAAK;AACH,eAAOC,IACHK;AAAA,yBACaL,CAAK;AAAA,+CAElBM;AAAA,MACN,KAAK;AACH,eAAOL,IACHI;AAAA,yBACaJ,CAAK;AAAA,+CAElBK;AAAA,MACN,KAAK;AACH,eAAOJ,IACHG;AAAA,yBACaH,CAAK;AAAA,+CAElBI;AAAA,MACN,KAAK;AACH,eAAOH,IACHE;AAAA,yBACaF,CAAK;AAAA,+CAElBG;AAAA,MACN,KAAK;AACH,eAAOF,IACHC;AAAA,yBACaD,CAAK;AAAA,qBACT,KAAK,IAAI;AAAA,0BACJ,KAAK,QAAQ;AAAA,+CAE3BE;AAAA,MACN;AACE,eAAOA;AAAA,IAAA;AAAA,EAEb;AAAA,EAEA,gBAAgB;AACd,UAAM,EAAE,SAAAC,MAAY,KAAK;AACzB,WAAOA,IACHF;AAAA,qBACaE,CAAO;AAAA,6CAEpBD;AAAA,EACN;AAAA,EAEA,qBAAqB;AACnB,UAAM,EAAE,cAAAE,MAAiB,KAAK;AAC9B,WAAOA,IACHH;AAAA,qBACaG,CAAY;AAAA,4CAEzBF;AAAA,EACN;AAAA,EAEA,aAAa;AACX,UAAM,EAAE,MAAAG,MAAS,KAAK;AACtB,WAAOA,IACHJ;AAAA,qBACaI,CAAI;AAAA,0CAEjBH;AAAA,EACN;AAAA,EAEA,qBAAqB;AACnB,WAAOD,IAAO,KAAK,UAAU,IAAI,CAACN,MAAO,KAAK,kBAAkBA,CAAE,CAAC,CAAC;AAAA,EACtE;AAAA,EAEA,eAAe;AACb,UAAM,EAAE,QAAAW,MAAW,KAAK;AACxB,WAAKA,GAAQ,OAGNL;AAAA,iBACMK,CAAM;AAAA,wCAHVJ;AAAA,EAKX;AAAA,EAEA,eAAe;AACb,UAAM,EAAE,QAAAK,MAAW,KAAK;AACxB,WAAKA,GAAQ,OAAO,SACbN;AAAA,iBACMM,CAAM;AAAA,wCAFgBL;AAAA,EAIrC;AAAA,EAEmB,SAAS;AAC1B,WAAOM,EAAe,IAAI;AAAA,EAC5B;AACF;AAvLatB,EAIJ,SAAS,CAACuB,GAA0BC,EAAKC,CAAe,CAAC;AAGhEC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GANnB3B,EAOX,WAAA,UAAA,CAAA;AAGA0B,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,WAAW,mBAAmB;AAAA,GAT7C3B,EAUX,WAAA,iBAAA,CAAA;AAGA0B,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GAZnB3B,EAaX,WAAA,SAAA,CAAA;AAGA0B,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GAfnB3B,EAgBX,WAAA,SAAA,CAAA;AAGA0B,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAlBf3B,EAmBX,WAAA,QAAA,CAAA;AAGA0B,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAA,CAAS;AAAA,GArBhB3B,EAsBX,WAAA,YAAA,CAAA;AAtBWA,IAAN0B,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA2B;AAAA,GACrC7B,CAAA;"}
1
+ {"version":3,"file":"os-leaderboard-casino.js","sources":["../../../../src/components/os-leaderboard-casino/container/os-leaderboard-casino.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport type { PropertyValues } from 'lit';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_TAG } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport {\n EMPTY_OS_LEADERBOARD_CASINO_STATE,\n type OsLeaderboardCasinoState,\n} from '@os-leaderboard-casino/types/state.js';\nimport type { OsLeaderboardCasinoLayout } from '@os-leaderboard-casino/types/sections.js';\nimport { adapterService } from '@os-leaderboard-casino/services/index.js';\nimport { iconService } from '@os-leaderboard-casino/services/icon.service.js';\nimport { resolveLeaderboardCasinoInput } from '@os-leaderboard-casino/integration/resolve-input.js';\nimport { loadLeaderboardCasinoAssets } from '@os-leaderboard-casino/integration/load-assets.js';\nimport type { LeaderboardCasinoAssetsBundle } from '@os-leaderboard-casino/types/assets.js';\nimport type { LeaderboardCasinoInput } from '@os-leaderboard-casino/types/input.js';\nimport type { OsLeaderboardCasinoHost } from './os-leaderboard-casino.host.js';\nimport renderTemplate from './os-leaderboard-casino.html?lit-html';\nimport componentStyles from './os-leaderboard-casino.scss?inline';\nimport '@os-leaderboard-casino/sections/marquee-section/marquee-section.js';\nimport '@os-leaderboard-casino/sections/events-banner/events-banner.js';\nimport '@os-leaderboard-casino/sections/hero-section/hero-section.js';\nimport '@os-leaderboard-casino/sections/prize-section/prize-section.js';\nimport '@os-leaderboard-casino/sections/stats-section/stats-section.js';\nimport '@os-leaderboard-casino/sections/games-section/games-section.js';\nimport '@os-leaderboard-casino/sections/climb-section/climb-section.js';\nimport '@os-leaderboard-casino/sections/table-section/table-section.js';\nimport '@os-leaderboard-casino/sections/footer-section/footer-section.js';\nimport '@os-leaderboard-casino/sections/legals-section/legals-section.js';\n\n/**\n * Config-driven casino leaderboard.\n * Parent provides static JSON via `.assets` or `assets-base-url`.\n * Bundled `assets/fallback/*.json` is used when parent files fail to load.\n */\n@Component({ selector: OS_LEADERBOARD_CASINO_TAG })\nexport class OsLeaderboardCasino\n extends LitElement\n implements OsLeaderboardCasinoHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(componentStyles)];\n\n @property({ attribute: false })\n assets: LeaderboardCasinoAssetsBundle | null = null;\n\n @property({ type: String, attribute: 'assets-base-url' })\n assetsBaseUrl = '';\n\n @property({ attribute: false })\n input: LeaderboardCasinoInput | null = null;\n\n @property({ attribute: false })\n state: OsLeaderboardCasinoState = EMPTY_OS_LEADERBOARD_CASINO_STATE;\n\n @property({ type: String })\n uuid = '';\n\n @property({ type: Boolean })\n finished = false;\n\n private assetsLoadTask: Promise<void> | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n void iconService.load();\n void this.ensureAssetsLoaded();\n }\n\n get layout(): OsLeaderboardCasinoLayout {\n return adapterService.toLayout(this.state);\n }\n\n get mainOrder(): string[] {\n return (\n this.layout.mainOrder ?? [\n 'prize',\n 'stats',\n 'games',\n 'climb',\n 'table',\n ]\n );\n }\n\n private async ensureAssetsLoaded(): Promise<void> {\n if (this.assets) return;\n if (!this.assetsBaseUrl) return;\n\n if (!this.assetsLoadTask) {\n this.assetsLoadTask = loadLeaderboardCasinoAssets(this.assetsBaseUrl)\n .then((bundle) => {\n this.assets = bundle;\n this.applyInputToState();\n })\n .finally(() => {\n this.assetsLoadTask = null;\n });\n }\n\n await this.assetsLoadTask;\n }\n\n private applyInputToState(): void {\n if (!this.input) return;\n this.uuid = this.input.campaign?.uuid ?? '';\n this.finished = this.input.campaign?.finished ?? false;\n this.state = resolveLeaderboardCasinoInput(this.input, this.assets);\n }\n\n protected override willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('assetsBaseUrl') && this.assetsBaseUrl && !this.assets) {\n void this.ensureAssetsLoaded();\n }\n\n if (\n (changed.has('input') || changed.has('assets')) &&\n this.input &&\n (this.assets || !this.assetsBaseUrl)\n ) {\n this.applyInputToState();\n }\n\n if (changed.has('state')) {\n adapterService.applyThemeVars(this, this.state);\n }\n }\n\n private renderMainSection(id: string) {\n const { prize, stats, games, climb, table } = this.layout;\n switch (id) {\n case 'prize':\n return prize\n ? html`<os-leaderboard-casino-prize\n .section=${prize}\n ></os-leaderboard-casino-prize>`\n : nothing;\n case 'stats':\n return stats\n ? html`<os-leaderboard-casino-stats\n .section=${stats}\n ></os-leaderboard-casino-stats>`\n : nothing;\n case 'games':\n return games\n ? html`<os-leaderboard-casino-games\n .section=${games}\n ></os-leaderboard-casino-games>`\n : nothing;\n case 'climb':\n return climb\n ? html`<os-leaderboard-casino-climb\n .section=${climb}\n ></os-leaderboard-casino-climb>`\n : nothing;\n case 'table':\n return table\n ? html`<os-leaderboard-casino-table\n .section=${table}\n uuid=${this.uuid}\n ?finished=${this.finished}\n ></os-leaderboard-casino-table>`\n : nothing;\n default:\n return nothing;\n }\n }\n\n renderMarquee() {\n const { marquee } = this.layout;\n return marquee\n ? html`<os-leaderboard-casino-marquee\n .section=${marquee}\n ></os-leaderboard-casino-marquee>`\n : nothing;\n }\n\n renderEventsBanner() {\n const { eventsBanner } = this.layout;\n return eventsBanner\n ? html`<os-leaderboard-casino-events\n .section=${eventsBanner}\n ></os-leaderboard-casino-events>`\n : nothing;\n }\n\n renderHero() {\n const { hero } = this.layout;\n return hero\n ? html`<os-leaderboard-casino-hero\n .section=${hero}\n ></os-leaderboard-casino-hero>`\n : nothing;\n }\n\n renderMainSections() {\n return html`${this.mainOrder.map((id) => this.renderMainSection(id))}`;\n }\n\n renderFooter() {\n const { footer } = this.layout;\n if (!footer?.text) {\n return nothing;\n }\n return html`<os-leaderboard-casino-footer\n .section=${footer}\n ></os-leaderboard-casino-footer>`;\n }\n\n renderLegals() {\n const { legals } = this.layout;\n if (!legals?.links?.length) return nothing;\n return html`<os-leaderboard-casino-legals\n .section=${legals}\n ></os-leaderboard-casino-legals>`;\n }\n\n protected override render() {\n return renderTemplate(this);\n }\n}\n"],"names":["OsLeaderboardCasino","LitElement","EMPTY_OS_LEADERBOARD_CASINO_STATE","iconService","adapterService","loadLeaderboardCasinoAssets","bundle","resolveLeaderboardCasinoInput","changed","id","prize","stats","games","climb","table","html","nothing","marquee","eventsBanner","hero","footer","legals","renderTemplate","osLeaderboardCasinoTheme","scss","componentStyles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_TAG"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const a = ":host{display:block;width:100%;min-height:100vh;min-height:100dvh;box-sizing:border-box;background:radial-gradient(90% 55% at 80% -8%,rgba(157,107,255,.13),transparent 60%),radial-gradient(70% 45% at 8% 14%,rgba(245,196,81,.07),transparent 55%),radial-gradient(120% 100% at 50% 115%,var(--bg-2),var(--bg) 70%),var(--bg);color:var(--text);font-family:var(--font-body)}.shell{width:100%;max-width:1180px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:18px;padding:clamp(14px,3vw,28px);padding-top:calc(clamp(14px,3vw,28px) + env(safe-area-inset-top));padding-bottom:calc(clamp(14px,3vw,28px) + env(safe-area-inset-bottom));box-sizing:border-box}.columns{display:flex;flex:1;flex-direction:column;gap:18px;min-height:0}.main{display:flex;flex:1;flex-direction:column;gap:18px;min-width:0}os-leaderboard-casino-table{flex:1;min-height:0}os-leaderboard-casino-footer{margin-top:auto}os-leaderboard-casino-legals{margin-top:-6px}";
1
+ const a = ":host{display:block;width:100%;min-height:100vh;min-height:100dvh;box-sizing:border-box;background:var(--bg);color:var(--text);font-family:var(--font-body)}.shell{width:100%;max-width:1180px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:18px;padding:clamp(14px,3vw,28px);padding-top:calc(clamp(14px,3vw,28px) + env(safe-area-inset-top));padding-bottom:calc(clamp(14px,3vw,28px) + env(safe-area-inset-bottom));box-sizing:border-box}.columns{display:flex;flex:1;flex-direction:column;gap:18px;min-height:0}.main{display:flex;flex:1;flex-direction:column;gap:18px;min-width:0}os-leaderboard-casino-table{flex:1;min-height:0}os-leaderboard-casino-footer{margin-top:auto}os-leaderboard-casino-legals{margin-top:-6px}";
2
2
  export {
3
3
  a as default
4
4
  };
@@ -17,7 +17,7 @@ export declare function getTheme(id: OsLeaderboardCasinoThemeId, bundle?: Leader
17
17
  export declare function getThemeVars(id: OsLeaderboardCasinoThemeId, bundle?: LeaderboardCasinoAssetsBundle): Record<string, string>;
18
18
  export declare function resolvePresetState(presetId: string, bundle?: LeaderboardCasinoAssetsBundle): OsLeaderboardCasinoState;
19
19
  /** Bundled fallback exports for dev tooling. */
20
- export declare const OS_LEADERBOARD_CASINO_LABELS: import('..').LeaderboardCasinoLabels;
20
+ export declare const OS_LEADERBOARD_CASINO_LABELS: import('../index.js').LeaderboardCasinoLabels;
21
21
  export declare const OS_LEADERBOARD_CASINO_THEMES: readonly LeaderboardCasinoAssetsTheme[];
22
22
  export declare const OS_LEADERBOARD_CASINO_PRESETS: readonly LeaderboardCasinoAssetsPreset[];
23
23
  export declare const DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID: "golden";
@@ -1,64 +1,69 @@
1
- import u from "../assets/fallback/catalog.json.js";
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 c from "../assets/fallback/presets.json.js";
4
+ import a from "../assets/fallback/presets.json.js";
4
5
  import m from "../assets/fallback/resolved-presets.json.js";
5
- import a from "../assets/fallback/themes.json.js";
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: a,
10
- presets: c,
11
- catalog: u,
10
+ themes: d,
11
+ presets: a,
12
+ catalog: c,
12
13
  resolvedPresets: m
13
14
  });
14
- function B(e) {
15
+ function L(e) {
15
16
  return e ?? t;
16
17
  }
17
- function L() {
18
+ function P() {
18
19
  return t;
19
20
  }
20
- function P(e) {
21
+ function R(e) {
21
22
  return e.labels;
22
23
  }
23
- function d(e) {
24
+ function f(e) {
24
25
  return e.presets.presets;
25
26
  }
26
- function f(e) {
27
+ function i(e) {
27
28
  return e.presets.defaultPresetId;
28
29
  }
29
- function n(e) {
30
+ function o(e) {
30
31
  return e.themes;
31
32
  }
32
- function R(e, s = t) {
33
- return d(s).find((r) => r.id === e);
33
+ function I(e, s = t) {
34
+ return f(s).find((r) => r.id === e);
34
35
  }
35
- function i(e, s = t) {
36
- return n(s).find((r) => r.id === e) ?? n(s)[0];
36
+ function E(e, s = t) {
37
+ return o(s).find((r) => r.id === e) ?? o(s)[0];
37
38
  }
38
- function g(e, s = t) {
39
- return i(e, s).vars ?? {};
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 I(e, s = t) {
42
- const r = f(s), o = s.resolvedPresets[e] ?? s.resolvedPresets[r];
43
- return structuredClone(o);
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, h = t.presets.presets, v = t.presets.defaultPresetId, N = t.catalog;
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
- v as DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID,
49
- N as LEADERBOARD_CASINO_PRESET_CATALOG,
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
- h as OS_LEADERBOARD_CASINO_PRESETS,
56
+ b as OS_LEADERBOARD_CASINO_PRESETS,
52
57
  T as OS_LEADERBOARD_CASINO_THEMES,
53
- f as getBundleDefaultPresetId,
54
- P as getBundleLabels,
55
- d as getBundlePresets,
56
- n as getBundleThemes,
57
- L as getFallbackAssetsBundle,
58
- R as getOsLeaderboardCasinoPreset,
59
- i as getTheme,
60
- g as getThemeVars,
61
- B as resolveAssetsBundle,
62
- I as resolvePresetState
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 return getTheme(id, bundle).vars ?? {};\n}\n\nexport function resolvePresetState(\n presetId: string,\n bundle: LeaderboardCasinoAssetsBundle = FALLBACK_BUNDLE,\n): OsLeaderboardCasinoState {\n const defaultId = getBundleDefaultPresetId(bundle);\n const resolved =\n bundle.resolvedPresets[presetId] ?? bundle.resolvedPresets[defaultId];\n return structuredClone(resolved);\n}\n\n/** Bundled fallback exports for dev tooling. */\nexport const OS_LEADERBOARD_CASINO_LABELS = FALLBACK_BUNDLE.labels;\nexport const OS_LEADERBOARD_CASINO_THEMES = FALLBACK_BUNDLE.themes;\nexport const OS_LEADERBOARD_CASINO_PRESETS = FALLBACK_BUNDLE.presets.presets;\nexport const DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID =\n FALLBACK_BUNDLE.presets.defaultPresetId;\nexport const LEADERBOARD_CASINO_PRESET_CATALOG = FALLBACK_BUNDLE.catalog;\nexport const playgroundThemes = FALLBACK_BUNDLE.themes;\n\nexport function getPlaygroundTheme(\n id: string,\n bundle: LeaderboardCasinoAssetsBundle = FALLBACK_BUNDLE,\n): OsLeaderboardCasinoThemeOption {\n return getTheme(id, bundle);\n}\n"],"names":["FALLBACK_BUNDLE","assembleAssetsBundle","labelsDocument","themesDocument","presetsDocument","catalogDocument","resolvedPresetsDocument","resolveAssetsBundle","assets","getFallbackAssetsBundle","getBundleLabels","bundle","getBundlePresets","getBundleDefaultPresetId","getBundleThemes","getOsLeaderboardCasinoPreset","id","preset","getTheme","theme","getThemeVars","resolvePresetState","presetId","defaultId","resolved","OS_LEADERBOARD_CASINO_LABELS","OS_LEADERBOARD_CASINO_THEMES","OS_LEADERBOARD_CASINO_PRESETS","DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID","LEADERBOARD_CASINO_PRESET_CATALOG"],"mappings":";;;;;;AA4BA,MAAMA,IAAkBC,EAAqB;AAAA,EAC3C,QAAQC;AAAA,EACR,QAAQC;AAAA,EACR,SAASC;AAAA,EACT,SAASC;AAAA,EACT,iBAAiBC;AACnB,CAAC;AAEM,SAASC,EACdC,GAC+B;AAC/B,SAAOA,KAAUR;AACnB;AAEO,SAASS,IAAyD;AACvE,SAAOT;AACT;AAEO,SAASU,EACdC,GACiC;AACjC,SAAOA,EAAO;AAChB;AAQO,SAASC,EACdD,GACsC;AACtC,SAAOA,EAAO,QAAQ;AACxB;AAEO,SAASE,EACdF,GAC2B;AAC3B,SAAOA,EAAO,QAAQ;AACxB;AAEO,SAASG,EACdH,GAC2C;AAC3C,SAAOA,EAAO;AAChB;AAEO,SAASI,EACdC,GACAL,IAAwCX,GACD;AACvC,SAAOY,EAAiBD,CAAM,EAAE,KAAK,CAACM,MAAWA,EAAO,OAAOD,CAAE;AACnE;AAEO,SAASE,EACdF,GACAL,IAAwCX,GACR;AAChC,SACEc,EAAgBH,CAAM,EAAE,KAAK,CAACQ,MAAUA,EAAM,OAAOH,CAAE,KACvDF,EAAgBH,CAAM,EAAE,CAAC;AAE7B;AAEO,SAASS,EACdJ,GACAL,IAAwCX,GAChB;AACxB,SAAOkB,EAASF,GAAIL,CAAM,EAAE,QAAQ,CAAA;AACtC;AAEO,SAASU,EACdC,GACAX,IAAwCX,GACd;AAC1B,QAAMuB,IAAYV,EAAyBF,CAAM,GAC3Ca,IACJb,EAAO,gBAAgBW,CAAQ,KAAKX,EAAO,gBAAgBY,CAAS;AACtE,SAAO,gBAAgBC,CAAQ;AACjC;AAGO,MAAMC,IAA+BzB,EAAgB,QAC/C0B,IAA+B1B,EAAgB,QAC/C2B,IAAgC3B,EAAgB,QAAQ,SACxD4B,IACX5B,EAAgB,QAAQ,iBACb6B,IAAoC7B,EAAgB;AACjCA,EAAgB;"}
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;"}