@oddsmith/ui 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/README.md +1 -1
  2. package/dist/components/os-leaderboard-casino/assets/fallback/defaults/glam-sections.json +3 -3
  3. package/dist/components/os-leaderboard-casino/assets/fallback/manifest.json +1 -1
  4. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json +6 -4
  5. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js +1 -1
  6. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json +3 -4
  7. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js +3 -4
  8. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js.map +1 -1
  9. package/dist/components/os-leaderboard-casino/constants/defaults.d.ts +8 -0
  10. package/dist/components/os-leaderboard-casino/constants/index.d.ts +2 -0
  11. package/dist/components/os-leaderboard-casino/constants/tags.d.ts +22 -0
  12. package/dist/components/os-leaderboard-casino/constants/tags.js +6 -4
  13. package/dist/components/os-leaderboard-casino/constants/tags.js.map +1 -1
  14. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.d.ts +35 -0
  15. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.host.d.ts +13 -0
  16. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js +5 -3
  17. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js.map +1 -1
  18. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js +12 -10
  19. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js.map +1 -1
  20. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js +1 -1
  21. package/dist/components/os-leaderboard-casino/index.d.ts +36 -0
  22. package/dist/components/os-leaderboard-casino/index.js +23 -23
  23. package/dist/components/os-leaderboard-casino/integration/assemble-assets.d.ts +21 -0
  24. package/dist/components/os-leaderboard-casino/integration/assets-context.d.ts +26 -0
  25. package/dist/components/os-leaderboard-casino/integration/assets-context.js +40 -35
  26. package/dist/components/os-leaderboard-casino/integration/assets-context.js.map +1 -1
  27. package/dist/components/os-leaderboard-casino/integration/defaults-glam.d.ts +14 -0
  28. package/dist/components/os-leaderboard-casino/integration/defaults-new-money.d.ts +3 -0
  29. package/dist/components/os-leaderboard-casino/integration/index.d.ts +5 -0
  30. package/dist/components/os-leaderboard-casino/integration/labels.d.ts +1 -0
  31. package/dist/components/os-leaderboard-casino/integration/load-assets.d.ts +9 -0
  32. package/dist/components/os-leaderboard-casino/integration/presets.d.ts +1 -0
  33. package/dist/components/os-leaderboard-casino/integration/resolve-input.d.ts +20 -0
  34. package/dist/components/os-leaderboard-casino/integration/resolve-input.js +31 -27
  35. package/dist/components/os-leaderboard-casino/integration/resolve-input.js.map +1 -1
  36. package/dist/components/os-leaderboard-casino/integration/themes.d.ts +1 -0
  37. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.d.ts +18 -0
  38. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.host.d.ts +14 -0
  39. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js +7 -5
  40. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js.map +1 -1
  41. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js +33 -38
  42. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js.map +1 -1
  43. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.d.ts +5 -0
  44. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js +7 -5
  45. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js.map +1 -1
  46. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.d.ts +16 -0
  47. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.host.d.ts +8 -0
  48. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js +26 -22
  49. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js.map +1 -1
  50. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.d.ts +10 -0
  51. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.host.d.ts +3 -0
  52. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js +7 -5
  53. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js.map +1 -1
  54. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js +11 -8
  55. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js.map +1 -1
  56. package/dist/components/os-leaderboard-casino/sections/games-section/components/game-images.d.ts +1 -0
  57. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.d.ts +20 -0
  58. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.host.d.ts +7 -0
  59. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js +5 -3
  60. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js.map +1 -1
  61. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js +15 -13
  62. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js.map +1 -1
  63. package/dist/components/os-leaderboard-casino/sections/header-section/header-section.d.ts +12 -0
  64. package/dist/components/os-leaderboard-casino/sections/header-section/header-section.host.d.ts +8 -0
  65. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.d.ts +37 -0
  66. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.host.d.ts +20 -0
  67. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js +6 -4
  68. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js.map +1 -1
  69. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js +6 -2
  70. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js.map +1 -1
  71. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.d.ts +18 -0
  72. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.host.d.ts +8 -0
  73. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js +5 -3
  74. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js.map +1 -1
  75. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js +10 -5
  76. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js.map +1 -1
  77. package/dist/components/os-leaderboard-casino/sections/live-feed-section/live-feed-section.d.ts +13 -0
  78. package/dist/components/os-leaderboard-casino/sections/live-feed-section/live-feed-section.host.d.ts +8 -0
  79. package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.d.ts +3 -0
  80. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.d.ts +14 -0
  81. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.d.ts +42 -0
  82. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.host.d.ts +8 -0
  83. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js +5 -3
  84. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js.map +1 -1
  85. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js +26 -23
  86. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js.map +1 -1
  87. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.d.ts +6 -0
  88. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.d.ts +16 -0
  89. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js +73 -0
  90. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js.map +1 -0
  91. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.scss.js +5 -0
  92. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.scss.js.map +1 -0
  93. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.d.ts +23 -0
  94. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.host.d.ts +11 -0
  95. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js +5 -3
  96. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js.map +1 -1
  97. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js +18 -15
  98. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js.map +1 -1
  99. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-band/stat-band.d.ts +17 -0
  100. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-card/stat-card.d.ts +15 -0
  101. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-chip/stat-chip.d.ts +17 -0
  102. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-gauge/stat-gauge.d.ts +14 -0
  103. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.d.ts +5 -0
  104. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.js +11 -0
  105. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.js.map +1 -0
  106. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-meter/stat-meter.d.ts +17 -0
  107. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.d.ts +17 -0
  108. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js +63 -0
  109. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js.map +1 -0
  110. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.scss.js +5 -0
  111. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.scss.js.map +1 -0
  112. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.d.ts +16 -0
  113. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.host.d.ts +13 -0
  114. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js +5 -3
  115. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js.map +1 -1
  116. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js +20 -16
  117. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js.map +1 -1
  118. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.d.ts +31 -0
  119. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.host.d.ts +15 -0
  120. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js +5 -3
  121. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js.map +1 -1
  122. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js +17 -14
  123. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js.map +1 -1
  124. package/dist/components/os-leaderboard-casino/services/adapter.service.d.ts +11 -0
  125. package/dist/components/os-leaderboard-casino/services/icon.service.d.ts +28 -0
  126. package/dist/components/os-leaderboard-casino/services/icon.service.js +10 -8
  127. package/dist/components/os-leaderboard-casino/services/icon.service.js.map +1 -1
  128. package/dist/components/os-leaderboard-casino/services/index.d.ts +2 -0
  129. package/dist/components/os-leaderboard-casino/theme/background.d.ts +4 -0
  130. package/dist/components/os-leaderboard-casino/theme/background.js +22 -0
  131. package/dist/components/os-leaderboard-casino/theme/background.js.map +1 -0
  132. package/dist/components/os-leaderboard-casino/theme/index.d.ts +3 -0
  133. package/dist/components/os-leaderboard-casino/theme/prize-icons.d.ts +1 -0
  134. package/dist/components/os-leaderboard-casino/theme/prize-resolve.d.ts +5 -0
  135. package/dist/components/os-leaderboard-casino/theme/styles.d.ts +9 -0
  136. package/dist/components/os-leaderboard-casino/theme/styles.js +3 -3
  137. package/dist/components/os-leaderboard-casino/theme/styles.js.map +1 -1
  138. package/dist/components/os-leaderboard-casino/theme/vip-icons.d.ts +2 -0
  139. package/dist/components/os-leaderboard-casino/theme/vip-mark.d.ts +7 -0
  140. package/dist/components/os-leaderboard-casino/theme/vip-mark.js +11 -9
  141. package/dist/components/os-leaderboard-casino/theme/vip-mark.js.map +1 -1
  142. package/dist/components/os-leaderboard-casino/types/assets.d.ts +42 -0
  143. package/dist/components/os-leaderboard-casino/types/data.d.ts +106 -0
  144. package/dist/components/os-leaderboard-casino/types/events.d.ts +18 -0
  145. package/dist/components/os-leaderboard-casino/types/icons.d.ts +18 -0
  146. package/dist/components/os-leaderboard-casino/types/input.d.ts +79 -0
  147. package/dist/components/os-leaderboard-casino/types/ledger.d.ts +67 -0
  148. package/dist/components/os-leaderboard-casino/types/sections.d.ts +200 -0
  149. package/dist/components/os-leaderboard-casino/types/state.d.ts +69 -0
  150. package/dist/shared/lib/lit/component.d.ts +5 -0
  151. package/dist/shared/lib/lit/safe-custom-element.d.ts +5 -0
  152. package/dist/shared/lib/lit/scss.d.ts +3 -0
  153. package/dist/shared/lib/lit/scss.js +4 -4
  154. package/dist/shared/lib/lit/template.d.ts +3 -0
  155. package/dist/shared/vendor/lit-element-lit-element.js +45 -0
  156. package/dist/shared/vendor/lit-element-lit-element.js.map +1 -0
  157. package/dist/shared/vendor/lit-html-directive-helpers.js +32 -0
  158. package/dist/shared/vendor/lit-html-directive-helpers.js.map +1 -0
  159. package/dist/shared/vendor/lit-html-directive.js +23 -0
  160. package/dist/shared/vendor/lit-html-directive.js.map +1 -0
  161. package/dist/shared/vendor/lit-html-keyed.js +18 -0
  162. package/dist/shared/vendor/lit-html-keyed.js.map +1 -0
  163. package/dist/shared/vendor/lit-html-lit-html.js +234 -0
  164. package/dist/shared/vendor/lit-html-lit-html.js.map +1 -0
  165. package/dist/shared/vendor/lit-html-repeat.js +57 -0
  166. package/dist/shared/vendor/lit-html-repeat.js.map +1 -0
  167. package/dist/shared/vendor/lit-html-unsafe-html.js +21 -0
  168. package/dist/shared/vendor/lit-html-unsafe-html.js.map +1 -0
  169. package/dist/shared/vendor/lit-html-unsafe-svg.js +10 -0
  170. package/dist/shared/vendor/lit-html-unsafe-svg.js.map +1 -0
  171. package/dist/shared/vendor/lit-reactive-element-base.js +5 -0
  172. package/dist/shared/vendor/lit-reactive-element-base.js.map +1 -0
  173. package/dist/shared/vendor/lit-reactive-element-css-tag.js +46 -0
  174. package/dist/shared/vendor/lit-reactive-element-css-tag.js.map +1 -0
  175. package/dist/shared/vendor/lit-reactive-element-property.js +33 -0
  176. package/dist/shared/vendor/lit-reactive-element-property.js.map +1 -0
  177. package/dist/shared/vendor/lit-reactive-element-query.js +13 -0
  178. package/dist/shared/vendor/lit-reactive-element-query.js.map +1 -0
  179. package/dist/shared/vendor/lit-reactive-element-reactive-element.js +226 -0
  180. package/dist/shared/vendor/lit-reactive-element-reactive-element.js.map +1 -0
  181. package/dist/shared/vendor/lit-reactive-element-state.js +8 -0
  182. package/dist/shared/vendor/lit-reactive-element-state.js.map +1 -0
  183. package/package.json +5 -2
  184. package/dist/index.d.ts +0 -734
@@ -0,0 +1,5 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { OsLeaderboardCasinoEventItem } from '../../../types/sections.js';
3
+ export type EventIconName = 'boost' | 'gift' | 'bolt' | 'fire' | 'star' | 'clock';
4
+ export declare const eventIcon: (name: EventIconName) => TemplateResult;
5
+ export declare function resolveEventIcon(event: OsLeaderboardCasinoEventItem): TemplateResult | string;
@@ -1,4 +1,6 @@
1
- import { html as o } from "lit";
1
+ import "../../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
+ import { html as o } from "../../../../../shared/vendor/lit-html-lit-html.js";
3
+ import "../../../../../shared/vendor/lit-element-lit-element.js";
2
4
  const t = (r) => {
3
5
  switch (r) {
4
6
  case "boost":
@@ -98,19 +100,19 @@ const t = (r) => {
98
100
  }, e = {
99
101
  "event-1": "bolt",
100
102
  "event-2": "boost"
101
- }, n = {
103
+ }, i = {
102
104
  gold: "bolt",
103
105
  violet: "boost",
104
106
  green: "star",
105
107
  red: "fire"
106
108
  };
107
- function l(r) {
109
+ function c(r) {
108
110
  return r.icon ? r.icon : t(
109
- e[r.id] ?? n[r.accent ?? "gold"] ?? "star"
111
+ e[r.id] ?? i[r.accent ?? "gold"] ?? "star"
110
112
  );
111
113
  }
112
114
  export {
113
115
  t as eventIcon,
114
- l as resolveEventIcon
116
+ c as resolveEventIcon
115
117
  };
116
118
  //# sourceMappingURL=event-icons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-icons.js","sources":["../../../../../../src/components/os-leaderboard-casino/sections/events-banner/components/event-icons.ts"],"sourcesContent":["import { html, type TemplateResult } from 'lit';\nimport type { OsLeaderboardCasinoEventItem } from '@os-leaderboard-casino/types/sections.js';\n\nexport type EventIconName = 'boost' | 'gift' | 'bolt' | 'fire' | 'star' | 'clock';\n\nexport const eventIcon = (name: EventIconName): TemplateResult => {\n switch (name) {\n case 'boost':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M4 20 9 9l6 6-11 5Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"M4 20 9 9l6 6-11 5Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14 3v3M19 5l-2 2M21 10h-3\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n <circle cx=\"15.5\" cy=\"8.5\" r=\"2.5\" fill=\"currentColor\" opacity=\".4\" />\n </svg>`;\n case 'gift':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x=\"4\"\n y=\"9\"\n width=\"16\"\n height=\"11\"\n rx=\"1.5\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n />\n <path d=\"M4 9h16M12 9v11\" stroke=\"currentColor\" stroke-width=\"1.5\" />\n <path\n d=\"M12 9C9 9 7 4 9.5 4S12 7 12 9Zm0 0c3 0 5-5 2.5-5S12 7 12 9Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'bolt':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M13 2 4 14h6l-1 8 9-12h-6l1-8Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"M13 2 4 14h6l-1 8 9-12h-6l1-8Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'fire':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M12 3c1 3 4 4 4 8a4 4 0 1 1-8 0c0-2 1-3 2-4 .5 1.5 2 2 2-4Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"M12 3c1 3 4 4 4 8a4 4 0 1 1-8 0c0-2 1-3 2-4 .5 1.5 2 2 2-4Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'star':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"m12 3 2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"m12 3 2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'clock':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\" />\n <path\n d=\"M12 7v5l3.5 2\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n }\n};\n\nconst ICON_BY_ID: Record<string, EventIconName> = {\n 'event-1': 'bolt',\n 'event-2': 'boost',\n};\n\nconst ICON_BY_ACCENT: Record<\n NonNullable<OsLeaderboardCasinoEventItem['accent']>,\n EventIconName\n> = {\n gold: 'bolt',\n violet: 'boost',\n green: 'star',\n red: 'fire',\n};\n\nexport function resolveEventIcon(\n event: OsLeaderboardCasinoEventItem,\n): TemplateResult | string {\n if (event.icon) return event.icon;\n return eventIcon(\n ICON_BY_ID[event.id] ??\n ICON_BY_ACCENT[event.accent ?? 'gold'] ??\n 'star',\n );\n}\n"],"names":["eventIcon","name","html","ICON_BY_ID","ICON_BY_ACCENT","resolveEventIcon","event"],"mappings":";AAKO,MAAMA,IAAY,CAACC,MAAwC;AAChE,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAOC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBT,KAAK;AACH,aAAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkBT,KAAK;AACH,aAAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaT,KAAK;AACH,aAAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaT,KAAK;AACH,aAAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaT,KAAK;AACH,aAAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAWb,GAEMC,IAA4C;AAAA,EAChD,WAAW;AAAA,EACX,WAAW;AACb,GAEMC,IAGF;AAAA,EACF,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AACP;AAEO,SAASC,EACdC,GACyB;AACzB,SAAIA,EAAM,OAAaA,EAAM,OACtBN;AAAA,IACLG,EAAWG,EAAM,EAAE,KACjBF,EAAeE,EAAM,UAAU,MAAM,KACrC;AAAA,EAAA;AAEN;"}
1
+ {"version":3,"file":"event-icons.js","sources":["../../../../../../src/components/os-leaderboard-casino/sections/events-banner/components/event-icons.ts"],"sourcesContent":["import { html, type TemplateResult } from 'lit';\nimport type { OsLeaderboardCasinoEventItem } from '@os-leaderboard-casino/types/sections.js';\n\nexport type EventIconName = 'boost' | 'gift' | 'bolt' | 'fire' | 'star' | 'clock';\n\nexport const eventIcon = (name: EventIconName): TemplateResult => {\n switch (name) {\n case 'boost':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M4 20 9 9l6 6-11 5Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"M4 20 9 9l6 6-11 5Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14 3v3M19 5l-2 2M21 10h-3\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n <circle cx=\"15.5\" cy=\"8.5\" r=\"2.5\" fill=\"currentColor\" opacity=\".4\" />\n </svg>`;\n case 'gift':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x=\"4\"\n y=\"9\"\n width=\"16\"\n height=\"11\"\n rx=\"1.5\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n />\n <path d=\"M4 9h16M12 9v11\" stroke=\"currentColor\" stroke-width=\"1.5\" />\n <path\n d=\"M12 9C9 9 7 4 9.5 4S12 7 12 9Zm0 0c3 0 5-5 2.5-5S12 7 12 9Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'bolt':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M13 2 4 14h6l-1 8 9-12h-6l1-8Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"M13 2 4 14h6l-1 8 9-12h-6l1-8Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'fire':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M12 3c1 3 4 4 4 8a4 4 0 1 1-8 0c0-2 1-3 2-4 .5 1.5 2 2 2-4Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"M12 3c1 3 4 4 4 8a4 4 0 1 1-8 0c0-2 1-3 2-4 .5 1.5 2 2 2-4Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'star':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"m12 3 2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"m12 3 2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'clock':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\" />\n <path\n d=\"M12 7v5l3.5 2\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n }\n};\n\nconst ICON_BY_ID: Record<string, EventIconName> = {\n 'event-1': 'bolt',\n 'event-2': 'boost',\n};\n\nconst ICON_BY_ACCENT: Record<\n NonNullable<OsLeaderboardCasinoEventItem['accent']>,\n EventIconName\n> = {\n gold: 'bolt',\n violet: 'boost',\n green: 'star',\n red: 'fire',\n};\n\nexport function resolveEventIcon(\n event: OsLeaderboardCasinoEventItem,\n): TemplateResult | string {\n if (event.icon) return event.icon;\n return eventIcon(\n ICON_BY_ID[event.id] ??\n ICON_BY_ACCENT[event.accent ?? 'gold'] ??\n 'star',\n );\n}\n"],"names":["eventIcon","name","html","ICON_BY_ID","ICON_BY_ACCENT","resolveEventIcon","event"],"mappings":";;;AAKO,MAAMA,IAAY,CAACC,MAAwC;AAChE,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAOC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAoBT,KAAK;AACH,aAAOA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAkBT,KAAK;AACH,aAAOA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAaT,KAAK;AACH,aAAOA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAaT,KAAK;AACH,aAAOA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAaT,KAAK;AACH,aAAOA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAA;AAWb,GAEMC,IAA4C;AAAA,EAChD,WAAW;AAAA,EACX,WAAW;AACb,GAEMC,IAGF;AAAA,EACF,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AACP;AAEO,SAASC,EACdC,GACyB;AACzB,SAAIA,EAAM,OAAaA,EAAM,OACtBN;AAAA,IACLG,EAAWG,EAAM,EAAE,KACjBF,EAAeE,EAAM,UAAU,MAAM,KACrC;AAAA,EAAA;AAEN;"}
@@ -0,0 +1,16 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ import { OsLeaderboardCasinoEventsSection } from '../../types/sections.js';
3
+ /** Promotional events — v0 Glass Glow (icon chip, fade rotation). */
4
+ export declare class OsLeaderboardCasinoEvents extends LitElement {
5
+ static styles: import('lit').CSSResult[];
6
+ section: OsLeaderboardCasinoEventsSection;
7
+ private index;
8
+ private timer?;
9
+ connectedCallback(): void;
10
+ disconnectedCallback(): void;
11
+ updated(changed: Map<string, unknown>): void;
12
+ private startRotation;
13
+ private stopRotation;
14
+ private goTo;
15
+ render(): typeof nothing | import('lit').TemplateResult<1>;
16
+ }
@@ -0,0 +1,8 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { OsLeaderboardCasinoEventsSection } from '../../types/sections.js';
3
+ export interface EventsBannerHost {
4
+ section: OsLeaderboardCasinoEventsSection;
5
+ showDots: boolean;
6
+ renderSlides(): TemplateResult;
7
+ renderDots(): TemplateResult;
8
+ }
@@ -1,17 +1,21 @@
1
- import { LitElement as d, nothing as l, html as r } from "lit";
2
- import { keyed as h } from "lit/directives/keyed.js";
3
- import { property as m, state as v } from "lit/decorators.js";
1
+ import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
+ import { nothing as l, html as n } from "../../../../shared/vendor/lit-html-lit-html.js";
3
+ import { LitElement as d } from "../../../../shared/vendor/lit-element-lit-element.js";
4
+ import { keyed as m } from "../../../../shared/vendor/lit-html-keyed.js";
5
+ import { property as h } from "../../../../shared/vendor/lit-reactive-element-property.js";
6
+ import { state as v } from "../../../../shared/vendor/lit-reactive-element-state.js";
4
7
  import { Component as f } from "../../../../shared/lib/lit/component.js";
5
8
  import { scss as u } from "../../../../shared/lib/lit/scss.js";
6
9
  import { DEFAULT_EVENTS_ROTATE_MS as b } from "../../constants/defaults.js";
7
- import { OS_LEADERBOARD_CASINO_EVENTS as _ } from "../../constants/tags.js";
8
- import { osLeaderboardCasinoTheme as $ } from "../../theme/styles.js";
10
+ import { OS_LEADERBOARD_CASINO_EVENTS as $ } from "../../constants/tags.js";
11
+ import { osLeaderboardCasinoTheme as _ } from "../../theme/styles.js";
12
+ import "../../../../shared/vendor/lit-html-unsafe-svg.js";
9
13
  import { resolveEventIcon as g } from "./components/event-icons.js";
10
14
  import E from "./events-banner.scss.js";
11
- var x = Object.defineProperty, R = Object.getOwnPropertyDescriptor, p = (t, e, n, s) => {
12
- for (var o = s > 1 ? void 0 : s ? R(e, n) : e, i = t.length - 1, c; i >= 0; i--)
13
- (c = t[i]) && (o = (s ? c(e, n, o) : c(o)) || o);
14
- return s && o && x(e, n, o), o;
15
+ var x = Object.defineProperty, R = Object.getOwnPropertyDescriptor, p = (t, e, r, s) => {
16
+ for (var o = s > 1 ? void 0 : s ? R(e, r) : e, i = t.length - 1, c; i >= 0; i--)
17
+ (c = t[i]) && (o = (s ? c(e, r, o) : c(o)) || o);
18
+ return s && o && x(e, r, o), o;
15
19
  };
16
20
  let a = class extends d {
17
21
  constructor() {
@@ -42,24 +46,24 @@ let a = class extends d {
42
46
  render() {
43
47
  const t = this.section?.events ?? [];
44
48
  if (!t.length) return l;
45
- const e = t[this.index], n = e.accent ?? "gold", s = g(e);
46
- return r`
49
+ const e = t[this.index], r = e.accent ?? "gold", s = g(e);
50
+ return n`
47
51
  <div class="banner" role="region" aria-label="Promotions" aria-live="polite">
48
- <div class="chip accent-${n}">
49
- ${typeof s == "string" ? r`${s}` : s}
52
+ <div class="chip accent-${r}">
53
+ ${typeof s == "string" ? n`${s}` : s}
50
54
  </div>
51
- ${h(
55
+ ${m(
52
56
  this.index,
53
- r`<div class="body">
57
+ n`<div class="body">
54
58
  <p class="title">${e.title}</p>
55
- ${e.subtitle ? r`<p class="sub">${e.subtitle}</p>` : l}
59
+ ${e.subtitle ? n`<p class="sub">${e.subtitle}</p>` : l}
56
60
  </div>`
57
61
  )}
58
62
  <div class="right">
59
- <span class="tag accent-${n}">Event</span>
60
- ${t.length > 1 ? r`<div class="dots">
63
+ <span class="tag accent-${r}">Event</span>
64
+ ${t.length > 1 ? n`<div class="dots">
61
65
  ${t.map(
62
- (o, i) => r`<button
66
+ (o, i) => n`<button
63
67
  type="button"
64
68
  class="dot"
65
69
  aria-current=${i === this.index ? "true" : "false"}
@@ -73,15 +77,15 @@ let a = class extends d {
73
77
  `;
74
78
  }
75
79
  };
76
- a.styles = [$, u(E)];
80
+ a.styles = [_, u(E)];
77
81
  p([
78
- m({ attribute: !1 })
82
+ h({ attribute: !1 })
79
83
  ], a.prototype, "section", 2);
80
84
  p([
81
85
  v()
82
86
  ], a.prototype, "index", 2);
83
87
  a = p([
84
- f({ selector: _ })
88
+ f({ selector: $ })
85
89
  ], a);
86
90
  export {
87
91
  a as OsLeaderboardCasinoEvents
@@ -1 +1 @@
1
- {"version":3,"file":"events-banner.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/events-banner/events-banner.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { keyed } from 'lit/directives/keyed.js';\nimport { property, state } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { DEFAULT_EVENTS_ROTATE_MS } from '@os-leaderboard-casino/constants/defaults.js';\nimport { OS_LEADERBOARD_CASINO_EVENTS } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type { OsLeaderboardCasinoEventsSection } from '@os-leaderboard-casino/types/sections.js';\nimport { resolveEventIcon } from './components/event-icons.js';\nimport styles from './events-banner.scss?inline';\n\n/** Promotional events — v0 Glass Glow (icon chip, fade rotation). */\n@Component({ selector: OS_LEADERBOARD_CASINO_EVENTS })\nexport class OsLeaderboardCasinoEvents extends LitElement {\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoEventsSection;\n\n @state()\n private index = 0;\n\n private timer?: ReturnType<typeof setInterval>;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.startRotation();\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.stopRotation();\n }\n\n updated(changed: Map<string, unknown>) {\n if (changed.has('section')) {\n this.index = 0;\n this.startRotation();\n }\n }\n\n private startRotation() {\n this.stopRotation();\n const count = this.section?.events?.length ?? 0;\n if (count < 2) return;\n this.timer = setInterval(() => {\n this.index = (this.index + 1) % count;\n }, this.section?.rotateMs ?? DEFAULT_EVENTS_ROTATE_MS);\n }\n\n private stopRotation() {\n if (this.timer) clearInterval(this.timer);\n this.timer = undefined;\n }\n\n private goTo(index: number) {\n this.index = index;\n this.startRotation();\n }\n\n render() {\n const events = this.section?.events ?? [];\n if (!events.length) return nothing;\n\n const event = events[this.index];\n const accent = event.accent ?? 'gold';\n const icon = resolveEventIcon(event);\n\n return html`\n <div class=\"banner\" role=\"region\" aria-label=\"Promotions\" aria-live=\"polite\">\n <div class=\"chip accent-${accent}\">\n ${typeof icon === 'string' ? html`${icon}` : icon}\n </div>\n ${keyed(\n this.index,\n html`<div class=\"body\">\n <p class=\"title\">${event.title}</p>\n ${event.subtitle\n ? html`<p class=\"sub\">${event.subtitle}</p>`\n : nothing}\n </div>`,\n )}\n <div class=\"right\">\n <span class=\"tag accent-${accent}\">Event</span>\n ${events.length > 1\n ? html`<div class=\"dots\">\n ${events.map(\n (_, i) => html`<button\n type=\"button\"\n class=\"dot\"\n aria-current=${i === this.index ? 'true' : 'false'}\n aria-label=\"Show event ${i + 1}\"\n @click=${() => this.goTo(i)}\n ></button>`,\n )}\n </div>`\n : nothing}\n </div>\n </div>\n `;\n }\n}\n"],"names":["OsLeaderboardCasinoEvents","LitElement","changed","count","DEFAULT_EVENTS_ROTATE_MS","index","events","nothing","event","accent","icon","resolveEventIcon","html","keyed","_","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","state","Component","OS_LEADERBOARD_CASINO_EVENTS"],"mappings":";;;;;;;;;;;;;;;AAcO,IAAMA,IAAN,cAAwCC,EAAW;AAAA,EAAnD,cAAA;AAAA,UAAA,GAAA,SAAA,GAOL,KAAQ,QAAQ;AAAA,EAAA;AAAA,EAIhB,oBAA0B;AACxB,UAAM,kBAAA,GACN,KAAK,cAAA;AAAA,EACP;AAAA,EAEA,uBAA6B;AAC3B,UAAM,qBAAA,GACN,KAAK,aAAA;AAAA,EACP;AAAA,EAEA,QAAQC,GAA+B;AACrC,IAAIA,EAAQ,IAAI,SAAS,MACvB,KAAK,QAAQ,GACb,KAAK,cAAA;AAAA,EAET;AAAA,EAEQ,gBAAgB;AACtB,SAAK,aAAA;AACL,UAAMC,IAAQ,KAAK,SAAS,QAAQ,UAAU;AAC9C,IAAIA,IAAQ,MACZ,KAAK,QAAQ,YAAY,MAAM;AAC7B,WAAK,SAAS,KAAK,QAAQ,KAAKA;AAAA,IAClC,GAAG,KAAK,SAAS,YAAYC,CAAwB;AAAA,EACvD;AAAA,EAEQ,eAAe;AACrB,IAAI,KAAK,SAAO,cAAc,KAAK,KAAK,GACxC,KAAK,QAAQ;AAAA,EACf;AAAA,EAEQ,KAAKC,GAAe;AAC1B,SAAK,QAAQA,GACb,KAAK,cAAA;AAAA,EACP;AAAA,EAEA,SAAS;AACP,UAAMC,IAAS,KAAK,SAAS,UAAU,CAAA;AACvC,QAAI,CAACA,EAAO,OAAQ,QAAOC;AAE3B,UAAMC,IAAQF,EAAO,KAAK,KAAK,GACzBG,IAASD,EAAM,UAAU,QACzBE,IAAOC,EAAiBH,CAAK;AAEnC,WAAOI;AAAA;AAAA,kCAEuBH,CAAM;AAAA,YAC5B,OAAOC,KAAS,WAAWE,IAAOF,CAAI,KAAKA,CAAI;AAAA;AAAA,UAEjDG;AAAA,MACA,KAAK;AAAA,MACLD;AAAA,+BACqBJ,EAAM,KAAK;AAAA,cAC5BA,EAAM,WACJI,mBAAsBJ,EAAM,QAAQ,SACpCD,CAAO;AAAA;AAAA,IAAA,CAEd;AAAA;AAAA,oCAE2BE,CAAM;AAAA,YAC9BH,EAAO,SAAS,IACdM;AAAA,kBACIN,EAAO;AAAA,MACP,CAACQ,GAAG,MAAMF;AAAA;AAAA;AAAA,mCAGO,MAAM,KAAK,QAAQ,SAAS,OAAO;AAAA,6CACzB,IAAI,CAAC;AAAA,6BACrB,MAAM,KAAK,KAAK,CAAC,CAAC;AAAA;AAAA,IAAA,CAE9B;AAAA,wBAEHL,CAAO;AAAA;AAAA;AAAA;AAAA,EAInB;AACF;AAxFaP,EACJ,SAAS,CAACe,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GAHnBnB,EAIX,WAAA,WAAA,CAAA;AAGQkB,EAAA;AAAA,EADPE,EAAA;AAAM,GANIpB,EAOH,WAAA,SAAA,CAAA;AAPGA,IAANkB,EAAA;AAAA,EADNG,EAAU,EAAE,UAAUC,EAAA,CAA8B;AAAA,GACxCtB,CAAA;"}
1
+ {"version":3,"file":"events-banner.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/events-banner/events-banner.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { keyed } from 'lit/directives/keyed.js';\nimport { property, state } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { DEFAULT_EVENTS_ROTATE_MS } from '@os-leaderboard-casino/constants/defaults.js';\nimport { OS_LEADERBOARD_CASINO_EVENTS } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type { OsLeaderboardCasinoEventsSection } from '@os-leaderboard-casino/types/sections.js';\nimport { resolveEventIcon } from './components/event-icons.js';\nimport styles from './events-banner.scss?inline';\n\n/** Promotional events — v0 Glass Glow (icon chip, fade rotation). */\n@Component({ selector: OS_LEADERBOARD_CASINO_EVENTS })\nexport class OsLeaderboardCasinoEvents extends LitElement {\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoEventsSection;\n\n @state()\n private index = 0;\n\n private timer?: ReturnType<typeof setInterval>;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.startRotation();\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.stopRotation();\n }\n\n updated(changed: Map<string, unknown>) {\n if (changed.has('section')) {\n this.index = 0;\n this.startRotation();\n }\n }\n\n private startRotation() {\n this.stopRotation();\n const count = this.section?.events?.length ?? 0;\n if (count < 2) return;\n this.timer = setInterval(() => {\n this.index = (this.index + 1) % count;\n }, this.section?.rotateMs ?? DEFAULT_EVENTS_ROTATE_MS);\n }\n\n private stopRotation() {\n if (this.timer) clearInterval(this.timer);\n this.timer = undefined;\n }\n\n private goTo(index: number) {\n this.index = index;\n this.startRotation();\n }\n\n render() {\n const events = this.section?.events ?? [];\n if (!events.length) return nothing;\n\n const event = events[this.index];\n const accent = event.accent ?? 'gold';\n const icon = resolveEventIcon(event);\n\n return html`\n <div class=\"banner\" role=\"region\" aria-label=\"Promotions\" aria-live=\"polite\">\n <div class=\"chip accent-${accent}\">\n ${typeof icon === 'string' ? html`${icon}` : icon}\n </div>\n ${keyed(\n this.index,\n html`<div class=\"body\">\n <p class=\"title\">${event.title}</p>\n ${event.subtitle\n ? html`<p class=\"sub\">${event.subtitle}</p>`\n : nothing}\n </div>`,\n )}\n <div class=\"right\">\n <span class=\"tag accent-${accent}\">Event</span>\n ${events.length > 1\n ? html`<div class=\"dots\">\n ${events.map(\n (_, i) => html`<button\n type=\"button\"\n class=\"dot\"\n aria-current=${i === this.index ? 'true' : 'false'}\n aria-label=\"Show event ${i + 1}\"\n @click=${() => this.goTo(i)}\n ></button>`,\n )}\n </div>`\n : nothing}\n </div>\n </div>\n `;\n }\n}\n"],"names":["OsLeaderboardCasinoEvents","LitElement","changed","count","DEFAULT_EVENTS_ROTATE_MS","index","events","nothing","event","accent","icon","resolveEventIcon","html","keyed","_","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","state","Component","OS_LEADERBOARD_CASINO_EVENTS"],"mappings":";;;;;;;;;;;;;;;;;;;AAcO,IAAMA,IAAN,cAAwCC,EAAW;AAAA,EAAnD,cAAA;AAAA,UAAA,GAAA,SAAA,GAOL,KAAQ,QAAQ;AAAA,EAAA;AAAA,EAIhB,oBAA0B;AACxB,UAAM,kBAAA,GACN,KAAK,cAAA;AAAA,EACP;AAAA,EAEA,uBAA6B;AAC3B,UAAM,qBAAA,GACN,KAAK,aAAA;AAAA,EACP;AAAA,EAEA,QAAQC,GAA+B;AACrC,IAAIA,EAAQ,IAAI,SAAS,MACvB,KAAK,QAAQ,GACb,KAAK,cAAA;AAAA,EAET;AAAA,EAEQ,gBAAgB;AACtB,SAAK,aAAA;AACL,UAAMC,IAAQ,KAAK,SAAS,QAAQ,UAAU;AAC9C,IAAIA,IAAQ,MACZ,KAAK,QAAQ,YAAY,MAAM;AAC7B,WAAK,SAAS,KAAK,QAAQ,KAAKA;AAAA,IAClC,GAAG,KAAK,SAAS,YAAYC,CAAwB;AAAA,EACvD;AAAA,EAEQ,eAAe;AACrB,IAAI,KAAK,SAAO,cAAc,KAAK,KAAK,GACxC,KAAK,QAAQ;AAAA,EACf;AAAA,EAEQ,KAAKC,GAAe;AAC1B,SAAK,QAAQA,GACb,KAAK,cAAA;AAAA,EACP;AAAA,EAEA,SAAS;AACP,UAAMC,IAAS,KAAK,SAAS,UAAU,CAAA;AACvC,QAAI,CAACA,EAAO,OAAQ,QAAOC;AAE3B,UAAMC,IAAQF,EAAO,KAAK,KAAK,GACzBG,IAASD,EAAM,UAAU,QACzBE,IAAOC,EAAiBH,CAAK;AAEnC,WAAOI;AAAAA;AAAAA,kCAEuBH,CAAM;AAAA,YAC5B,OAAOC,KAAS,WAAWE,IAAOF,CAAI,KAAKA,CAAI;AAAA;AAAA,UAEjDG;AAAAA,MACA,KAAK;AAAA,MACLD;AAAAA,+BACqBJ,EAAM,KAAK;AAAA,cAC5BA,EAAM,WACJI,mBAAsBJ,EAAM,QAAQ,SACpCD,CAAO;AAAA;AAAA,IAAA,CAEd;AAAA;AAAA,oCAE2BE,CAAM;AAAA,YAC9BH,EAAO,SAAS,IACdM;AAAAA,kBACIN,EAAO;AAAA,MACP,CAACQ,GAAG,MAAMF;AAAAA;AAAAA;AAAAA,mCAGO,MAAM,KAAK,QAAQ,SAAS,OAAO;AAAA,6CACzB,IAAI,CAAC;AAAA,6BACrB,MAAM,KAAK,KAAK,CAAC,CAAC;AAAA;AAAA,IAAA,CAE9B;AAAA,wBAEHL,CAAO;AAAA;AAAA;AAAA;AAAA,EAInB;AACF;AAxFaP,EACJ,SAAS,CAACe,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GAHnBnB,EAIX,WAAA,WAAA,CAAA;AAGQkB,EAAA;AAAA,EADPE,EAAA;AAAM,GANIpB,EAOH,WAAA,SAAA,CAAA;AAPGA,IAANkB,EAAA;AAAA,EADNG,EAAU,EAAE,UAAUC,EAAA,CAA8B;AAAA,GACxCtB,CAAA;"}
@@ -0,0 +1,10 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ import { OsLeaderboardCasinoFooterSection } from '../../types/sections.js';
3
+ import { FooterSectionHost } from './footer-section.host.js';
4
+ export declare class OsLeaderboardCasinoFooter extends LitElement implements FooterSectionHost {
5
+ static styles: import('lit').CSSResult[];
6
+ section?: OsLeaderboardCasinoFooterSection;
7
+ text: string;
8
+ get displayText(): string;
9
+ render(): import('lit').TemplateResult | typeof nothing;
10
+ }
@@ -0,0 +1,3 @@
1
+ export interface FooterSectionHost {
2
+ displayText: string;
3
+ }
@@ -1,7 +1,9 @@
1
- import { html as r } from "lit";
2
- function t(e) {
3
- return r`<footer class="page-footer">
4
- <!-- <p>${e.displayText}</p> -->
1
+ import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
+ import { html as e } from "../../../../shared/vendor/lit-html-lit-html.js";
3
+ import "../../../../shared/vendor/lit-element-lit-element.js";
4
+ function a(r) {
5
+ return e`<footer class="page-footer">
6
+ <!-- <p>${r.displayText}</p> -->
5
7
  <!-- TODO: hardcoded -->
6
8
  <p>
7
9
  Powered by
@@ -13,6 +15,6 @@ function t(e) {
13
15
  `;
14
16
  }
15
17
  export {
16
- t as default
18
+ a as default
17
19
  };
18
20
  //# sourceMappingURL=footer-section.html.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"footer-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/footer-section/footer-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<footer class=\"page-footer\">\n <!-- <p>${host.displayText}</p> -->\n <!-- TODO: hardcoded -->\n <p>\n Powered by\n <a href=\"https://oddsmith.io\" target=\"_blank\" rel=\"noopener noreferrer\">\n Oddsmith.io\n </a>\n </p>\n</footer>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA,YACGD,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAU5B;"}
1
+ {"version":3,"file":"footer-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/footer-section/footer-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<footer class=\"page-footer\">\n <!-- <p>${host.displayText}</p> -->\n <!-- TODO: hardcoded -->\n <p>\n Powered by\n <a href=\"https://oddsmith.io\" target=\"_blank\" rel=\"noopener noreferrer\">\n Oddsmith.io\n </a>\n </p>\n</footer>\n`;\n}\n"],"names":["render","host","html"],"mappings":";;;AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAAA,YACGD,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAU5B;"}
@@ -1,17 +1,20 @@
1
- import { LitElement as a, nothing as l } from "lit";
2
- import { property as f } from "lit/decorators.js";
1
+ import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
+ import { nothing as f } from "../../../../shared/vendor/lit-html-lit-html.js";
3
+ import { LitElement as l } from "../../../../shared/vendor/lit-element-lit-element.js";
4
+ import { property as a } from "../../../../shared/vendor/lit-reactive-element-property.js";
3
5
  import { Component as O } from "../../../../shared/lib/lit/component.js";
4
6
  import { scss as c } from "../../../../shared/lib/lit/scss.js";
5
7
  import { OS_LEADERBOARD_CASINO_FOOTER as u } from "../../constants/tags.js";
6
8
  import { osLeaderboardCasinoTheme as _ } from "../../theme/styles.js";
9
+ import "../../../../shared/vendor/lit-html-unsafe-svg.js";
7
10
  import h from "./footer-section.html.js";
8
11
  import x from "./footer-section.scss.js";
9
12
  var y = Object.defineProperty, d = Object.getOwnPropertyDescriptor, m = (n, e, s, o) => {
10
- for (var t = o > 1 ? void 0 : o ? d(e, s) : e, p = n.length - 1, i; p >= 0; p--)
11
- (i = n[p]) && (t = (o ? i(e, s, t) : i(t)) || t);
13
+ for (var t = o > 1 ? void 0 : o ? d(e, s) : e, i = n.length - 1, p; i >= 0; i--)
14
+ (p = n[i]) && (t = (o ? p(e, s, t) : p(t)) || t);
12
15
  return o && t && y(e, s, t), t;
13
16
  };
14
- let r = class extends a {
17
+ let r = class extends l {
15
18
  constructor() {
16
19
  super(...arguments), this.text = "";
17
20
  }
@@ -19,15 +22,15 @@ let r = class extends a {
19
22
  return this.section?.text ?? this.text;
20
23
  }
21
24
  render() {
22
- return this.displayText ? h(this) : l;
25
+ return this.displayText ? h(this) : f;
23
26
  }
24
27
  };
25
28
  r.styles = [_, c(x)];
26
29
  m([
27
- f({ attribute: !1 })
30
+ a({ attribute: !1 })
28
31
  ], r.prototype, "section", 2);
29
32
  m([
30
- f({ type: String })
33
+ a({ type: String })
31
34
  ], r.prototype, "text", 2);
32
35
  r = m([
33
36
  O({ selector: u })
@@ -1 +1 @@
1
- {"version":3,"file":"footer-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/footer-section/footer-section.ts"],"sourcesContent":["import { LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_FOOTER } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type { OsLeaderboardCasinoFooterSection } from '@os-leaderboard-casino/types/sections.js';\nimport type { FooterSectionHost } from './footer-section.host.js';\nimport renderTemplate from './footer-section.html?lit-html';\nimport styles from './footer-section.scss?inline';\n\n@Component({ selector: OS_LEADERBOARD_CASINO_FOOTER })\nexport class OsLeaderboardCasinoFooter\n extends LitElement\n implements FooterSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section?: OsLeaderboardCasinoFooterSection;\n\n @property({ type: String })\n text = '';\n\n get displayText(): string {\n return this.section?.text ?? this.text;\n }\n\n render() {\n if (!this.displayText) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["OsLeaderboardCasinoFooter","LitElement","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_FOOTER"],"mappings":";;;;;;;;;;;;;AAYO,IAAMA,IAAN,cACGC,EAEV;AAAA,EAHO,cAAA;AAAA,UAAA,GAAA,SAAA,GAUL,KAAA,OAAO;AAAA,EAAA;AAAA,EAEP,IAAI,cAAsB;AACxB,WAAO,KAAK,SAAS,QAAQ,KAAK;AAAA,EACpC;AAAA,EAEA,SAAS;AACP,WAAK,KAAK,cACHC,EAAe,IAAI,IADIC;AAAA,EAEhC;AACF;AApBaH,EAIJ,SAAS,CAACI,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GANnBR,EAOX,WAAA,WAAA,CAAA;AAGAO,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GATfR,EAUX,WAAA,QAAA,CAAA;AAVWA,IAANO,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA8B;AAAA,GACxCV,CAAA;"}
1
+ {"version":3,"file":"footer-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/footer-section/footer-section.ts"],"sourcesContent":["import { LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_FOOTER } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type { OsLeaderboardCasinoFooterSection } from '@os-leaderboard-casino/types/sections.js';\nimport type { FooterSectionHost } from './footer-section.host.js';\nimport renderTemplate from './footer-section.html?lit-html';\nimport styles from './footer-section.scss?inline';\n\n@Component({ selector: OS_LEADERBOARD_CASINO_FOOTER })\nexport class OsLeaderboardCasinoFooter\n extends LitElement\n implements FooterSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section?: OsLeaderboardCasinoFooterSection;\n\n @property({ type: String })\n text = '';\n\n get displayText(): string {\n return this.section?.text ?? this.text;\n }\n\n render() {\n if (!this.displayText) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["OsLeaderboardCasinoFooter","LitElement","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_FOOTER"],"mappings":";;;;;;;;;;;;;;;;AAYO,IAAMA,IAAN,cACGC,EAEV;AAAA,EAHO,cAAA;AAAA,UAAA,GAAA,SAAA,GAUL,KAAA,OAAO;AAAA,EAAA;AAAA,EAEP,IAAI,cAAsB;AACxB,WAAO,KAAK,SAAS,QAAQ,KAAK;AAAA,EACpC;AAAA,EAEA,SAAS;AACP,WAAK,KAAK,cACHC,EAAe,IAAI,IADIC;AAAAA,EAEhC;AACF;AApBaH,EAIJ,SAAS,CAACI,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GANnBR,EAOX,WAAA,WAAA,CAAA;AAGAO,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GATfR,EAUX,WAAA,QAAA,CAAA;AAVWA,IAANO,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA8B;AAAA,GACxCV,CAAA;"}
@@ -0,0 +1 @@
1
+ export { resolveGameImage } from '../../../services/icon.service.js';
@@ -0,0 +1,20 @@
1
+ import { LitElement, nothing, TemplateResult } from 'lit';
2
+ import { OsLeaderboardCasinoGamesSection } from '../../types/sections.js';
3
+ import { GamesSectionHost } from './games-section.host.js';
4
+ /** Qualifying games — title + provider cards in a horizontal row. */
5
+ export declare class OsLeaderboardCasinoGames extends LitElement implements GamesSectionHost {
6
+ static styles: import('lit').CSSResult[];
7
+ private _slider?;
8
+ private _sliderMq?;
9
+ private readonly _onSliderMqChange;
10
+ section: OsLeaderboardCasinoGamesSection;
11
+ get sectionTitle(): string;
12
+ connectedCallback(): void;
13
+ disconnectedCallback(): void;
14
+ protected updated(): void;
15
+ private _destroySlider;
16
+ private _syncSlider;
17
+ private renderCard;
18
+ renderGames(): TemplateResult;
19
+ render(): TemplateResult | typeof nothing;
20
+ }
@@ -0,0 +1,7 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { OsLeaderboardCasinoGamesSection } from '../../types/sections.js';
3
+ export interface GamesSectionHost {
4
+ section: OsLeaderboardCasinoGamesSection;
5
+ sectionTitle: string;
6
+ renderGames(): TemplateResult;
7
+ }
@@ -1,5 +1,7 @@
1
- import { html as s } from "lit";
2
- function i(e) {
1
+ import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
+ import { html as s } from "../../../../shared/vendor/lit-html-lit-html.js";
3
+ import "../../../../shared/vendor/lit-element-lit-element.js";
4
+ function r(e) {
3
5
  return s`<section>
4
6
  <div class="section-header">
5
7
  <h2 class="section-title">${e.sectionTitle}</h2>
@@ -10,6 +12,6 @@ function i(e) {
10
12
  `;
11
13
  }
12
14
  export {
13
- i as default
15
+ r as default
14
16
  };
15
17
  //# sourceMappingURL=games-section.html.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"games-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/games-section/games-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<section>\n <div class=\"section-header\">\n <h2 class=\"section-title\">${host.sectionTitle}</h2>\n <span class=\"hint\">every bet earns points</span>\n </div>\n <div class=\"games-row\">${host.renderGames()}</div>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA,gCAEuBD,EAAK,YAAY;AAAA;AAAA;AAAA,2BAGtBA,EAAK,aAAa;AAAA;AAAA;AAG7C;"}
1
+ {"version":3,"file":"games-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/games-section/games-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<section>\n <div class=\"section-header\">\n <h2 class=\"section-title\">${host.sectionTitle}</h2>\n <span class=\"hint\">every bet earns points</span>\n </div>\n <div class=\"games-row\">${host.renderGames()}</div>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";;;AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAAA;AAAAA,gCAEuBD,EAAK,YAAY;AAAA;AAAA;AAAA,2BAGtBA,EAAK,aAAa;AAAA;AAAA;AAG7C;"}
@@ -1,20 +1,22 @@
1
- import { LitElement as m, html as d, nothing as h } from "lit";
2
- import { property as _ } from "lit/decorators.js";
3
- import p from "../../../../shared/vendor/keen-slider-keen-slider.es.js";
1
+ import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
+ import { html as l, nothing as m } 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";
5
+ import _ from "../../../../shared/vendor/keen-slider-keen-slider.es.js";
4
6
  import { Component as f } from "../../../../shared/lib/lit/component.js";
5
7
  import { scss as g } from "../../../../shared/lib/lit/scss.js";
6
8
  import { OS_LEADERBOARD_CASINO_GAMES as u } from "../../constants/tags.js";
7
9
  import { osLeaderboardCasinoTheme as v } from "../../theme/styles.js";
8
- import { iconService as a } from "../../services/icon.service.js";
10
+ import { iconService as d } from "../../services/icon.service.js";
9
11
  import S from "./games-section.html.js";
10
12
  import y from "./games-section.scss.js";
11
13
  var C = Object.defineProperty, b = Object.getOwnPropertyDescriptor, c = (e, s, r, i) => {
12
- for (var t = i > 1 ? void 0 : i ? b(s, r) : s, l = e.length - 1, n; l >= 0; l--)
13
- (n = e[l]) && (t = (i ? n(s, r, t) : n(t)) || t);
14
+ for (var t = i > 1 ? void 0 : i ? b(s, r) : s, a = e.length - 1, n; a >= 0; a--)
15
+ (n = e[a]) && (t = (i ? n(s, r, t) : n(t)) || t);
14
16
  return i && t && C(s, r, t), t;
15
17
  };
16
18
  const w = "(max-width: 767px)";
17
- let o = class extends m {
19
+ let o = class extends h {
18
20
  constructor() {
19
21
  super(...arguments), this._onSliderMqChange = () => this._syncSlider(), this._syncSlider = () => {
20
22
  if (!(this.section?.games ?? []).length) return;
@@ -24,7 +26,7 @@ let o = class extends m {
24
26
  this._destroySlider();
25
27
  return;
26
28
  }
27
- s.classList.add("keen-slider"), this._slider ? this._slider.update() : this._slider = new p(s, {
29
+ s.classList.add("keen-slider"), this._slider ? this._slider.update() : this._slider = new _(s, {
28
30
  mode: "free",
29
31
  slides: { perView: "auto", spacing: 10 }
30
32
  });
@@ -48,8 +50,8 @@ let o = class extends m {
48
50
  e && e.classList.remove("keen-slider");
49
51
  }
50
52
  renderCard(e, s) {
51
- const r = a.resolveGameIconName(e.id, s), i = e.imageUrl ?? a.get(r).url;
52
- return d`
53
+ const r = d.resolveGameIconName(e.id, s), i = e.imageUrl ?? d.get(r).url;
54
+ return l`
53
55
  <article class="card keen-slider__slide" data-game-id=${e.id}>
54
56
  <div class="thumb">
55
57
  <img
@@ -67,15 +69,15 @@ let o = class extends m {
67
69
  }
68
70
  renderGames() {
69
71
  const e = this.section?.games ?? [];
70
- return d`${e.map((s, r) => this.renderCard(s, r))}`;
72
+ return l`${e.map((s, r) => this.renderCard(s, r))}`;
71
73
  }
72
74
  render() {
73
- return (this.section?.games ?? []).length ? S(this) : h;
75
+ return (this.section?.games ?? []).length ? S(this) : m;
74
76
  }
75
77
  };
76
78
  o.styles = [v, g(y)];
77
79
  c([
78
- _({ attribute: !1 })
80
+ p({ attribute: !1 })
79
81
  ], o.prototype, "section", 2);
80
82
  o = c([
81
83
  f({ selector: u })
@@ -1 +1 @@
1
- {"version":3,"file":"games-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/games-section/games-section.ts"],"sourcesContent":["import { html, LitElement, nothing, type TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport KeenSlider, { type KeenSliderInstance } from 'keen-slider';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_GAMES } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type {\n OsLeaderboardCasinoGameItem,\n OsLeaderboardCasinoGamesSection,\n} from '@os-leaderboard-casino/types/sections.js';\nimport { iconService } from '@os-leaderboard-casino/services/icon.service.js';\nimport type { GamesSectionHost } from './games-section.host.js';\nimport renderTemplate from './games-section.html?lit-html';\nimport styles from './games-section.scss?inline';\n\nconst SLIDER_MEDIA_QUERY = '(max-width: 767px)';\n\n/** Qualifying games — title + provider cards in a horizontal row. */\n@Component({ selector: OS_LEADERBOARD_CASINO_GAMES })\nexport class OsLeaderboardCasinoGames\n extends LitElement\n implements GamesSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n private _slider?: KeenSliderInstance;\n private _sliderMq?: MediaQueryList;\n private readonly _onSliderMqChange = () => this._syncSlider();\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoGamesSection;\n\n get sectionTitle(): string {\n return this.section?.title ?? 'Qualifying Games';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._sliderMq = window.matchMedia(SLIDER_MEDIA_QUERY);\n this._sliderMq.addEventListener('change', this._onSliderMqChange);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._sliderMq?.removeEventListener('change', this._onSliderMqChange);\n this._sliderMq = undefined;\n this._destroySlider();\n }\n\n protected updated() {\n this._syncSlider();\n }\n\n private _destroySlider() {\n this._slider?.destroy();\n this._slider = undefined;\n\n const el = this.shadowRoot?.querySelector<HTMLElement>('.games-row');\n if (el) el.classList.remove('keen-slider');\n }\n\n private _syncSlider = () => {\n const games = this.section?.games ?? [];\n if (!games.length) return;\n\n const el = this.shadowRoot?.querySelector<HTMLElement>('.games-row');\n if (!el) return;\n\n // TODO: slider is shown only on small screens\n const useSlider = this._sliderMq?.matches ?? false;\n\n if (!useSlider) {\n this._destroySlider();\n return;\n }\n\n el.classList.add('keen-slider');\n\n if (!this._slider) {\n this._slider = new KeenSlider(el, {\n mode: 'free',\n slides: { perView: 'auto', spacing: 10 },\n });\n } else {\n this._slider.update();\n }\n };\n\n private renderCard(game: OsLeaderboardCasinoGameItem, index: number) {\n const iconName = iconService.resolveGameIconName(game.id, index);\n const imageUrl = game.imageUrl ?? iconService.get(iconName).url!;\n return html`\n <article class=\"card keen-slider__slide\" data-game-id=${game.id}>\n <div class=\"thumb\">\n <img\n src=${imageUrl}\n alt=${game.title}\n loading=\"lazy\"\n draggable=\"false\"\n />\n </div>\n <div class=\"body\">\n <div class=\"title\">${game.title}</div>\n </div>\n </article>\n `;\n }\n\n renderGames(): TemplateResult {\n const games = this.section?.games ?? [];\n return html`${games.map((game, index) => this.renderCard(game, index))}`;\n }\n\n render() {\n const games = this.section?.games ?? [];\n if (!games.length) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["SLIDER_MEDIA_QUERY","OsLeaderboardCasinoGames","LitElement","el","KeenSlider","game","index","iconName","iconService","imageUrl","html","games","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_GAMES"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAMA,IAAqB;AAIpB,IAAMC,IAAN,cACGC,EAEV;AAAA,EAHO,cAAA;AAAA,UAAA,GAAA,SAAA,GAQL,KAAiB,oBAAoB,MAAM,KAAK,YAAA,GAkChD,KAAQ,cAAc,MAAM;AAE1B,UAAI,EADU,KAAK,SAAS,SAAS,CAAA,GAC1B,OAAQ;AAEnB,YAAMC,IAAK,KAAK,YAAY,cAA2B,YAAY;AACnE,UAAI,CAACA,EAAI;AAKT,UAAI,EAFc,KAAK,WAAW,WAAW,KAE7B;AACd,aAAK,eAAA;AACL;AAAA,MACF;AAEA,MAAAA,EAAG,UAAU,IAAI,aAAa,GAEzB,KAAK,UAMR,KAAK,QAAQ,OAAA,IALb,KAAK,UAAU,IAAIC,EAAWD,GAAI;AAAA,QAChC,MAAM;AAAA,QACN,QAAQ,EAAE,SAAS,QAAQ,SAAS,GAAA;AAAA,MAAG,CACxC;AAAA,IAIL;AAAA,EAAA;AAAA,EAtDA,IAAI,eAAuB;AACzB,WAAO,KAAK,SAAS,SAAS;AAAA,EAChC;AAAA,EAEA,oBAAoB;AAClB,UAAM,kBAAA,GACN,KAAK,YAAY,OAAO,WAAWH,CAAkB,GACrD,KAAK,UAAU,iBAAiB,UAAU,KAAK,iBAAiB;AAAA,EAClE;AAAA,EAEA,uBAAuB;AACrB,UAAM,qBAAA,GACN,KAAK,WAAW,oBAAoB,UAAU,KAAK,iBAAiB,GACpE,KAAK,YAAY,QACjB,KAAK,eAAA;AAAA,EACP;AAAA,EAEU,UAAU;AAClB,SAAK,YAAA;AAAA,EACP;AAAA,EAEQ,iBAAiB;AACvB,SAAK,SAAS,QAAA,GACd,KAAK,UAAU;AAEf,UAAMG,IAAK,KAAK,YAAY,cAA2B,YAAY;AACnE,IAAIA,KAAIA,EAAG,UAAU,OAAO,aAAa;AAAA,EAC3C;AAAA,EA6BQ,WAAWE,GAAmCC,GAAe;AACnE,UAAMC,IAAWC,EAAY,oBAAoBH,EAAK,IAAIC,CAAK,GACzDG,IAAWJ,EAAK,YAAYG,EAAY,IAAID,CAAQ,EAAE;AAC5D,WAAOG;AAAA,8DACmDL,EAAK,EAAE;AAAA;AAAA;AAAA,kBAGnDI,CAAQ;AAAA,kBACRJ,EAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAMGA,EAAK,KAAK;AAAA;AAAA;AAAA;AAAA,EAIvC;AAAA,EAEA,cAA8B;AAC5B,UAAMM,IAAQ,KAAK,SAAS,SAAS,CAAA;AACrC,WAAOD,IAAOC,EAAM,IAAI,CAACN,GAAMC,MAAU,KAAK,WAAWD,GAAMC,CAAK,CAAC,CAAC;AAAA,EACxE;AAAA,EAEA,SAAS;AAEP,YADc,KAAK,SAAS,SAAS,CAAA,GAC1B,SACJM,EAAe,IAAI,IADAC;AAAA,EAE5B;AACF;AAnGaZ,EAIJ,SAAS,CAACa,GAA0BC,EAAKC,CAAM,CAAC;AAOvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GAVnBjB,EAWX,WAAA,WAAA,CAAA;AAXWA,IAANgB,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA6B;AAAA,GACvCnB,CAAA;"}
1
+ {"version":3,"file":"games-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/games-section/games-section.ts"],"sourcesContent":["import { html, LitElement, nothing, type TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport KeenSlider, { type KeenSliderInstance } from 'keen-slider';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_GAMES } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type {\n OsLeaderboardCasinoGameItem,\n OsLeaderboardCasinoGamesSection,\n} from '@os-leaderboard-casino/types/sections.js';\nimport { iconService } from '@os-leaderboard-casino/services/icon.service.js';\nimport type { GamesSectionHost } from './games-section.host.js';\nimport renderTemplate from './games-section.html?lit-html';\nimport styles from './games-section.scss?inline';\n\nconst SLIDER_MEDIA_QUERY = '(max-width: 767px)';\n\n/** Qualifying games — title + provider cards in a horizontal row. */\n@Component({ selector: OS_LEADERBOARD_CASINO_GAMES })\nexport class OsLeaderboardCasinoGames\n extends LitElement\n implements GamesSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n private _slider?: KeenSliderInstance;\n private _sliderMq?: MediaQueryList;\n private readonly _onSliderMqChange = () => this._syncSlider();\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoGamesSection;\n\n get sectionTitle(): string {\n return this.section?.title ?? 'Qualifying Games';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._sliderMq = window.matchMedia(SLIDER_MEDIA_QUERY);\n this._sliderMq.addEventListener('change', this._onSliderMqChange);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._sliderMq?.removeEventListener('change', this._onSliderMqChange);\n this._sliderMq = undefined;\n this._destroySlider();\n }\n\n protected updated() {\n this._syncSlider();\n }\n\n private _destroySlider() {\n this._slider?.destroy();\n this._slider = undefined;\n\n const el = this.shadowRoot?.querySelector<HTMLElement>('.games-row');\n if (el) el.classList.remove('keen-slider');\n }\n\n private _syncSlider = () => {\n const games = this.section?.games ?? [];\n if (!games.length) return;\n\n const el = this.shadowRoot?.querySelector<HTMLElement>('.games-row');\n if (!el) return;\n\n // TODO: slider is shown only on small screens\n const useSlider = this._sliderMq?.matches ?? false;\n\n if (!useSlider) {\n this._destroySlider();\n return;\n }\n\n el.classList.add('keen-slider');\n\n if (!this._slider) {\n this._slider = new KeenSlider(el, {\n mode: 'free',\n slides: { perView: 'auto', spacing: 10 },\n });\n } else {\n this._slider.update();\n }\n };\n\n private renderCard(game: OsLeaderboardCasinoGameItem, index: number) {\n const iconName = iconService.resolveGameIconName(game.id, index);\n const imageUrl = game.imageUrl ?? iconService.get(iconName).url!;\n return html`\n <article class=\"card keen-slider__slide\" data-game-id=${game.id}>\n <div class=\"thumb\">\n <img\n src=${imageUrl}\n alt=${game.title}\n loading=\"lazy\"\n draggable=\"false\"\n />\n </div>\n <div class=\"body\">\n <div class=\"title\">${game.title}</div>\n </div>\n </article>\n `;\n }\n\n renderGames(): TemplateResult {\n const games = this.section?.games ?? [];\n return html`${games.map((game, index) => this.renderCard(game, index))}`;\n }\n\n render() {\n const games = this.section?.games ?? [];\n if (!games.length) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["SLIDER_MEDIA_QUERY","OsLeaderboardCasinoGames","LitElement","el","KeenSlider","game","index","iconName","iconService","imageUrl","html","games","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_GAMES"],"mappings":";;;;;;;;;;;;;;;;;AAgBA,MAAMA,IAAqB;AAIpB,IAAMC,IAAN,cACGC,EAEV;AAAA,EAHO,cAAA;AAAA,UAAA,GAAA,SAAA,GAQL,KAAiB,oBAAoB,MAAM,KAAK,YAAA,GAkChD,KAAQ,cAAc,MAAM;AAE1B,UAAI,EADU,KAAK,SAAS,SAAS,CAAA,GAC1B,OAAQ;AAEnB,YAAMC,IAAK,KAAK,YAAY,cAA2B,YAAY;AACnE,UAAI,CAACA,EAAI;AAKT,UAAI,EAFc,KAAK,WAAW,WAAW,KAE7B;AACd,aAAK,eAAA;AACL;AAAA,MACF;AAEA,MAAAA,EAAG,UAAU,IAAI,aAAa,GAEzB,KAAK,UAMR,KAAK,QAAQ,OAAA,IALb,KAAK,UAAU,IAAIC,EAAWD,GAAI;AAAA,QAChC,MAAM;AAAA,QACN,QAAQ,EAAE,SAAS,QAAQ,SAAS,GAAA;AAAA,MAAG,CACxC;AAAA,IAIL;AAAA,EAAA;AAAA,EAtDA,IAAI,eAAuB;AACzB,WAAO,KAAK,SAAS,SAAS;AAAA,EAChC;AAAA,EAEA,oBAAoB;AAClB,UAAM,kBAAA,GACN,KAAK,YAAY,OAAO,WAAWH,CAAkB,GACrD,KAAK,UAAU,iBAAiB,UAAU,KAAK,iBAAiB;AAAA,EAClE;AAAA,EAEA,uBAAuB;AACrB,UAAM,qBAAA,GACN,KAAK,WAAW,oBAAoB,UAAU,KAAK,iBAAiB,GACpE,KAAK,YAAY,QACjB,KAAK,eAAA;AAAA,EACP;AAAA,EAEU,UAAU;AAClB,SAAK,YAAA;AAAA,EACP;AAAA,EAEQ,iBAAiB;AACvB,SAAK,SAAS,QAAA,GACd,KAAK,UAAU;AAEf,UAAMG,IAAK,KAAK,YAAY,cAA2B,YAAY;AACnE,IAAIA,KAAIA,EAAG,UAAU,OAAO,aAAa;AAAA,EAC3C;AAAA,EA6BQ,WAAWE,GAAmCC,GAAe;AACnE,UAAMC,IAAWC,EAAY,oBAAoBH,EAAK,IAAIC,CAAK,GACzDG,IAAWJ,EAAK,YAAYG,EAAY,IAAID,CAAQ,EAAE;AAC5D,WAAOG;AAAAA,8DACmDL,EAAK,EAAE;AAAA;AAAA;AAAA,kBAGnDI,CAAQ;AAAA,kBACRJ,EAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAMGA,EAAK,KAAK;AAAA;AAAA;AAAA;AAAA,EAIvC;AAAA,EAEA,cAA8B;AAC5B,UAAMM,IAAQ,KAAK,SAAS,SAAS,CAAA;AACrC,WAAOD,IAAOC,EAAM,IAAI,CAACN,GAAMC,MAAU,KAAK,WAAWD,GAAMC,CAAK,CAAC,CAAC;AAAA,EACxE;AAAA,EAEA,SAAS;AAEP,YADc,KAAK,SAAS,SAAS,CAAA,GAC1B,SACJM,EAAe,IAAI,IADAC;AAAAA,EAE5B;AACF;AAnGaZ,EAIJ,SAAS,CAACa,GAA0BC,EAAKC,CAAM,CAAC;AAOvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GAVnBjB,EAWX,WAAA,WAAA,CAAA;AAXWA,IAANgB,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA6B;AAAA,GACvCnB,CAAA;"}
@@ -0,0 +1,12 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ import { OsLeaderboardCasinoHeaderSection } from '../../types/sections.js';
3
+ import { HeaderSectionHost } from './header-section.host.js';
4
+ export declare class OsLeaderboardCasinoHeader extends LitElement implements HeaderSectionHost {
5
+ static styles: import('lit').CSSResult[];
6
+ section: OsLeaderboardCasinoHeaderSection;
7
+ get showBack(): boolean;
8
+ get backLabel(): string;
9
+ get showSubtitle(): boolean;
10
+ onBackClick(): void;
11
+ render(): import('lit').TemplateResult | typeof nothing;
12
+ }
@@ -0,0 +1,8 @@
1
+ import { OsLeaderboardCasinoHeaderSection } from '../../types/sections.js';
2
+ export interface HeaderSectionHost {
3
+ section: OsLeaderboardCasinoHeaderSection;
4
+ showBack: boolean;
5
+ backLabel: string;
6
+ showSubtitle: boolean;
7
+ onBackClick(): void;
8
+ }
@@ -0,0 +1,37 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ import { LeaderboardStatus } from '../../types/data.js';
3
+ import { OsLeaderboardCasinoHeroSection } from '../../types/sections.js';
4
+ import { HeroSectionHost } from './hero-section.host.js';
5
+ /** Glam hero — golden ring, shimmer title, prize-pool headline, glowing countdown. */
6
+ export declare class OsLeaderboardCasinoHero extends LitElement implements HeroSectionHost {
7
+ static styles: import('lit').CSSResult[];
8
+ section: OsLeaderboardCasinoHeroSection;
9
+ private now;
10
+ /** Animated odometer value shown for `prizePoolValue`. */
11
+ private poolDisplay;
12
+ poolBump: boolean;
13
+ private timer?;
14
+ private poolRaf?;
15
+ private bumpTimer?;
16
+ get showBanner(): boolean;
17
+ get bannerUrl(): string;
18
+ get bannerAlt(): string;
19
+ get showStatus(): boolean;
20
+ get status(): LeaderboardStatus | undefined;
21
+ get statusLabel(): string;
22
+ get showActiveDot(): boolean;
23
+ get showDescription(): boolean;
24
+ get showPool(): boolean;
25
+ get poolValueLabel(): string;
26
+ get poolLabel(): string;
27
+ get showRising(): boolean;
28
+ connectedCallback(): void;
29
+ disconnectedCallback(): void;
30
+ willUpdate(changed: Map<string, unknown>): void;
31
+ /** Rolling count-up from the current display value to `target`. */
32
+ private animatePool;
33
+ private formatPool;
34
+ private get isFinished();
35
+ renderCountdown(): typeof nothing | import('lit').TemplateResult<1>;
36
+ render(): import('lit').TemplateResult | typeof nothing;
37
+ }
@@ -0,0 +1,20 @@
1
+ import { LitTemplate } from '../../../../shared/lib/lit/template.js';
2
+ import { LeaderboardStatus } from '../../types/data.js';
3
+ import { OsLeaderboardCasinoHeroSection } from '../../types/sections.js';
4
+ export interface HeroSectionHost {
5
+ section: OsLeaderboardCasinoHeroSection;
6
+ showBanner: boolean;
7
+ bannerUrl: string;
8
+ bannerAlt: string;
9
+ showStatus: boolean;
10
+ status: LeaderboardStatus | undefined;
11
+ statusLabel: string;
12
+ showActiveDot: boolean;
13
+ showDescription: boolean;
14
+ showPool: boolean;
15
+ poolBump: boolean;
16
+ poolValueLabel: string;
17
+ poolLabel: string;
18
+ showRising: boolean;
19
+ renderCountdown(): LitTemplate;
20
+ }
@@ -1,6 +1,8 @@
1
- import { html as s } from "lit";
2
- function a(n) {
3
- return s`<section class="hero">
1
+ import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
+ import { html as i } from "../../../../shared/vendor/lit-html-lit-html.js";
3
+ import "../../../../shared/vendor/lit-element-lit-element.js";
4
+ function l(n) {
5
+ return i`<section class="hero">
4
6
  <img
5
7
  class="banner-img"
6
8
  ?hidden=${!n.showBanner}
@@ -29,6 +31,6 @@ function a(n) {
29
31
  `;
30
32
  }
31
33
  export {
32
- a as default
34
+ l as default
33
35
  };
34
36
  //# sourceMappingURL=hero-section.html.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hero-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/hero-section/hero-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<section class=\"hero\">\n <img\n class=\"banner-img\"\n ?hidden=${!host.showBanner}\n src=\"${host.bannerUrl}\"\n alt=\"${host.bannerAlt}\"\n />\n <div class=\"inner\">\n <span class=\"status ${host.status ?? ''}\" ?hidden=${!host.showStatus}>\n <i class=\"dot\" ?hidden=${!host.showActiveDot}></i>\n ${host.statusLabel}\n </span>\n <h2>${host.section.title}</h2>\n <p class=\"description\" ?hidden=${!host.showDescription}>\n ${host.section.description}\n </p>\n <div class=\"pool\" ?hidden=${!host.showPool}>\n <span class=\"label\">${host.poolLabel}</span>\n <span class=\"value ${host.poolBump ? 'bump' : ''}\"\n >${host.poolValueLabel}</span\n >\n <span class=\"rising\" ?hidden=${!host.showRising}><i></i> rising</span>\n </div>\n ${host.renderCountdown()}\n </div>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA;AAAA,cAGK,CAACD,EAAK,UAAU;AAAA,WACnBA,EAAK,SAAS;AAAA,WACdA,EAAK,SAAS;AAAA;AAAA;AAAA,0BAGCA,EAAK,UAAU,EAAE,aAAa,CAACA,EAAK,UAAU;AAAA,+BACzC,CAACA,EAAK,aAAa;AAAA,QAC1CA,EAAK,WAAW;AAAA;AAAA,UAEdA,EAAK,QAAQ,KAAK;AAAA,qCACS,CAACA,EAAK,eAAe;AAAA,QAClDA,EAAK,QAAQ,WAAW;AAAA;AAAA,gCAEA,CAACA,EAAK,QAAQ;AAAA,4BAClBA,EAAK,SAAS;AAAA,2BACfA,EAAK,WAAW,SAAS,EAAE;AAAA,WAC3CA,EAAK,cAAc;AAAA;AAAA,qCAEO,CAACA,EAAK,UAAU;AAAA;AAAA,MAE/CA,EAAK,gBAAe,CAAE;AAAA;AAAA;AAAA;AAI5B;"}
1
+ {"version":3,"file":"hero-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/hero-section/hero-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<section class=\"hero\">\n <img\n class=\"banner-img\"\n ?hidden=${!host.showBanner}\n src=\"${host.bannerUrl}\"\n alt=\"${host.bannerAlt}\"\n />\n <div class=\"inner\">\n <span class=\"status ${host.status ?? ''}\" ?hidden=${!host.showStatus}>\n <i class=\"dot\" ?hidden=${!host.showActiveDot}></i>\n ${host.statusLabel}\n </span>\n <h2>${host.section.title}</h2>\n <p class=\"description\" ?hidden=${!host.showDescription}>\n ${host.section.description}\n </p>\n <div class=\"pool\" ?hidden=${!host.showPool}>\n <span class=\"label\">${host.poolLabel}</span>\n <span class=\"value ${host.poolBump ? 'bump' : ''}\"\n >${host.poolValueLabel}</span\n >\n <span class=\"rising\" ?hidden=${!host.showRising}><i></i> rising</span>\n </div>\n ${host.renderCountdown()}\n </div>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";;;AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAAA;AAAAA;AAAAA,cAGK,CAACD,EAAK,UAAU;AAAA,WACnBA,EAAK,SAAS;AAAA,WACdA,EAAK,SAAS;AAAA;AAAA;AAAA,0BAGCA,EAAK,UAAU,EAAE,aAAa,CAACA,EAAK,UAAU;AAAA,+BACzC,CAACA,EAAK,aAAa;AAAA,QAC1CA,EAAK,WAAW;AAAA;AAAA,UAEdA,EAAK,QAAQ,KAAK;AAAA,qCACS,CAACA,EAAK,eAAe;AAAA,QAClDA,EAAK,QAAQ,WAAW;AAAA;AAAA,gCAEA,CAACA,EAAK,QAAQ;AAAA,4BAClBA,EAAK,SAAS;AAAA,2BACfA,EAAK,WAAW,SAAS,EAAE;AAAA,WAC3CA,EAAK,cAAc;AAAA;AAAA,qCAEO,CAACA,EAAK,UAAU;AAAA;AAAA,MAE/CA,EAAK,gBAAe,CAAE;AAAA;AAAA;AAAA;AAI5B;"}