@sensiblestats/widget-react 0.33.3 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -165,6 +165,11 @@ function normalizeUi(cfg) {
165
165
  return {
166
166
  theme: cfg.theme ?? "auto",
167
167
  accent: cfg.accent,
168
+ logoUrl: cfg.logoUrl,
169
+ headerTitle: cfg.headerTitle,
170
+ cta: cfg.cta,
171
+ surface: cfg.surface,
172
+ ink: cfg.ink,
168
173
  position: cfg.position ?? "right",
169
174
  offset: { x: cfg.offset?.x ?? 20, y: cfg.offset?.y ?? 20 },
170
175
  radius: cfg.radius ?? 16,
@@ -303,6 +308,14 @@ function themeAttrs(ui) {
303
308
  "--ss-w-radius": `${ui.radius}px`
304
309
  };
305
310
  if (ui.accent) style["--ss-w-accent"] = ui.accent;
311
+ if (ui.cta) style["--ss-w-cta"] = ui.cta;
312
+ if (ui.surface) style["--ss-w-panel"] = ui.surface;
313
+ if (ui.ink) style["--ss-w-ink"] = ui.ink;
314
+ if (ui.surface && ui.ink) {
315
+ style["--ss-w-bubble"] = "color-mix(in srgb, var(--ss-w-ink) 5%, var(--ss-w-panel))";
316
+ style["--ss-w-line"] = "color-mix(in srgb, var(--ss-w-ink) 12%, var(--ss-w-panel))";
317
+ style["--ss-w-faint"] = "color-mix(in srgb, var(--ss-w-ink) 55%, var(--ss-w-panel))";
318
+ }
306
319
  return { "data-ss-w-theme": ui.theme, "data-ss-w-pos": ui.position, style };
307
320
  }
308
321
 
@@ -1144,6 +1157,9 @@ function useLiveMonitor(opts) {
1144
1157
  };
1145
1158
  }
1146
1159
 
1160
+ // src/components/BrandMark.tsx
1161
+ import { useState as useState2 } from "react";
1162
+
1147
1163
  // src/assets/logo.ts
1148
1164
  var SS_LOGO_DATA_URI = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjoAAAI6CAYAAAAuSOLAAAAAAXNSR0IArs4c6QAAAJplWElmTU0AKgAAAAgAAwESAAMAAAABAAEAAAExAAIAAAA9AAAAModpAAQAAAABAAAAcAAAAABBZG9iZSBQaG90b3Nob3AgMjYuMTAgKDIwMjUwNzMwLm0uMzE2NiAwN2IxMjM0KSAgKE1hY2ludG9zaCkAAAADoAEAAwAAAAEAAQAAoAIABAAAAAEAAAI6oAMABAAAAAEAAAI6AAAAACwGtVwAAAQwaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6QzBGRTM5NjM5NEJEMTFGMEJGNjZEMjUyN0U0MzU5RUM8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6QzBGRTM5NjI5NEJEMTFGMEJGNjZEMjUyN0U0MzU5RUM8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxzdFJlZjppbnN0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";
1149
1165
 
@@ -1181,35 +1197,43 @@ function DashboardIcon({ name }) {
1181
1197
  return /* @__PURE__ */ jsx("span", { className: "ss-w-dash-emoji", "aria-hidden": "true", children: glyph });
1182
1198
  }
1183
1199
 
1200
+ // src/components/BrandMark.tsx
1201
+ import { jsx as jsx2 } from "react/jsx-runtime";
1202
+ function BrandMark({ logoUrl, className }) {
1203
+ const [failed, setFailed] = useState2(false);
1204
+ if (!logoUrl || failed) return /* @__PURE__ */ jsx2(SsMark, { className });
1205
+ return /* @__PURE__ */ jsx2("img", { className, src: logoUrl, alt: "", "aria-hidden": "true", onError: () => setFailed(true) });
1206
+ }
1207
+
1184
1208
  // src/components/GreetingBubble.tsx
1185
- import { jsx as jsx2, jsxs } from "react/jsx-runtime";
1209
+ import { jsx as jsx3, jsxs } from "react/jsx-runtime";
1186
1210
  function GreetingBubble({ text, onOpen, onDismiss, dismissLabel = "Dismiss" }) {
1187
1211
  return /* @__PURE__ */ jsxs("div", { className: "ss-w-greeting", role: "note", children: [
1188
- /* @__PURE__ */ jsx2("button", { type: "button", className: "ss-w-greeting-body", onClick: onOpen, children: text }),
1189
- onDismiss ? /* @__PURE__ */ jsx2("button", { type: "button", className: "ss-w-greeting-x", "aria-label": dismissLabel, onClick: onDismiss, children: "\xD7" }) : null
1212
+ /* @__PURE__ */ jsx3("button", { type: "button", className: "ss-w-greeting-body", onClick: onOpen, children: text }),
1213
+ onDismiss ? /* @__PURE__ */ jsx3("button", { type: "button", className: "ss-w-greeting-x", "aria-label": dismissLabel, onClick: onDismiss, children: "\xD7" }) : null
1190
1214
  ] });
1191
1215
  }
1192
1216
 
1193
1217
  // src/components/ChatFab.tsx
1194
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
1195
- function ChatFab({ label, greeting, popupText, onOpen, onDismissPopup, dismissLabel = "Dismiss" }) {
1218
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
1219
+ function ChatFab({ label, greeting, popupText, logoUrl, onOpen, onDismissPopup, dismissLabel = "Dismiss" }) {
1196
1220
  const bubble = popupText ?? greeting;
1197
1221
  return /* @__PURE__ */ jsxs2("div", { className: "ss-w-fab-wrap", children: [
1198
- bubble ? /* @__PURE__ */ jsx3(GreetingBubble, { text: bubble, onOpen, onDismiss: popupText ? onDismissPopup : void 0, dismissLabel }) : null,
1199
- /* @__PURE__ */ jsx3("button", { type: "button", className: "ss-w-fab", "aria-label": label, onClick: onOpen, children: /* @__PURE__ */ jsx3(SsMark, { className: "ss-w-fab-mark" }) })
1222
+ bubble ? /* @__PURE__ */ jsx4(GreetingBubble, { text: bubble, onOpen, onDismiss: popupText ? onDismissPopup : void 0, dismissLabel }) : null,
1223
+ /* @__PURE__ */ jsx4("button", { type: "button", className: "ss-w-fab", "aria-label": label, onClick: onOpen, children: /* @__PURE__ */ jsx4(BrandMark, { logoUrl, className: "ss-w-fab-mark" }) })
1200
1224
  ] });
1201
1225
  }
1202
1226
 
1203
1227
  // src/components/ChatPanel.tsx
1204
- import { useEffect as useEffect8, useState as useState15 } from "react";
1228
+ import { useEffect as useEffect8, useState as useState16 } from "react";
1205
1229
 
1206
1230
  // src/components/ChatHeader.tsx
1207
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
1208
- function ChatHeader({ onClose, closeLabel = "Close chat" }) {
1231
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
1232
+ function ChatHeader({ onClose, closeLabel = "Close chat", logoUrl, headerTitle }) {
1209
1233
  return /* @__PURE__ */ jsxs3("header", { className: "ss-w-header", children: [
1210
- /* @__PURE__ */ jsx4(SsMark, { className: "ss-w-header-mark" }),
1211
- /* @__PURE__ */ jsx4("span", { className: "ss-w-header-title", children: "SensibleStats" }),
1212
- /* @__PURE__ */ jsx4("button", { type: "button", className: "ss-w-close", "aria-label": closeLabel, onClick: onClose, children: /* @__PURE__ */ jsx4(CloseIcon, {}) })
1234
+ /* @__PURE__ */ jsx5(BrandMark, { logoUrl, className: "ss-w-header-mark" }),
1235
+ /* @__PURE__ */ jsx5("span", { className: "ss-w-header-title", children: headerTitle ?? "SensibleStats" }),
1236
+ /* @__PURE__ */ jsx5("button", { type: "button", className: "ss-w-close", "aria-label": closeLabel, onClick: onClose, children: /* @__PURE__ */ jsx5(CloseIcon, {}) })
1213
1237
  ] });
1214
1238
  }
1215
1239
 
@@ -1219,21 +1243,21 @@ import { useEffect as useEffect7, useRef as useRef5 } from "react";
1219
1243
  // src/components/Markdown.tsx
1220
1244
  import ReactMarkdown from "react-markdown";
1221
1245
  import remarkGfm from "remark-gfm";
1222
- import { jsx as jsx5 } from "react/jsx-runtime";
1246
+ import { jsx as jsx6 } from "react/jsx-runtime";
1223
1247
  var components = {
1224
- a: ({ children, href }) => /* @__PURE__ */ jsx5("a", { href, target: "_blank", rel: "noopener noreferrer", className: "ss-w-md-link", children }),
1225
- table: ({ children }) => /* @__PURE__ */ jsx5("div", { className: "ss-w-table-wrap", children: /* @__PURE__ */ jsx5("table", { className: "ss-w-md-table", children }) }),
1226
- ul: ({ children }) => /* @__PURE__ */ jsx5("ul", { className: "ss-w-md-ul", children }),
1227
- ol: ({ children }) => /* @__PURE__ */ jsx5("ol", { className: "ss-w-md-ol", children }),
1228
- code: ({ children }) => /* @__PURE__ */ jsx5("code", { className: "ss-w-md-code", children })
1248
+ a: ({ children, href }) => /* @__PURE__ */ jsx6("a", { href, target: "_blank", rel: "noopener noreferrer", className: "ss-w-md-link", children }),
1249
+ table: ({ children }) => /* @__PURE__ */ jsx6("div", { className: "ss-w-table-wrap", children: /* @__PURE__ */ jsx6("table", { className: "ss-w-md-table", children }) }),
1250
+ ul: ({ children }) => /* @__PURE__ */ jsx6("ul", { className: "ss-w-md-ul", children }),
1251
+ ol: ({ children }) => /* @__PURE__ */ jsx6("ol", { className: "ss-w-md-ol", children }),
1252
+ code: ({ children }) => /* @__PURE__ */ jsx6("code", { className: "ss-w-md-code", children })
1229
1253
  };
1230
1254
  function Markdown({ text }) {
1231
- return /* @__PURE__ */ jsx5("div", { className: "ss-w-md", children: /* @__PURE__ */ jsx5(ReactMarkdown, { remarkPlugins: [remarkGfm], components, children: text }) });
1255
+ return /* @__PURE__ */ jsx6("div", { className: "ss-w-md", children: /* @__PURE__ */ jsx6(ReactMarkdown, { remarkPlugins: [remarkGfm], components, children: text }) });
1232
1256
  }
1233
1257
 
1234
1258
  // src/components/EntityCardList.tsx
1235
- import { useState as useState2 } from "react";
1236
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
1259
+ import { useState as useState3 } from "react";
1260
+ import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
1237
1261
  var MAX_VISIBLE = 3;
1238
1262
  var RECORD_RE = /^(\d+)-(\d+)-(\d+)$/;
1239
1263
  function initials(name) {
@@ -1243,7 +1267,7 @@ function shortSeason(season) {
1243
1267
  return season.replace(/\d{4}/g, (year) => year.slice(2));
1244
1268
  }
1245
1269
  function Crest({ image, label }) {
1246
- return /* @__PURE__ */ jsx6(
1270
+ return /* @__PURE__ */ jsx7(
1247
1271
  "span",
1248
1272
  {
1249
1273
  className: "ss-w-ecard-crest",
@@ -1255,33 +1279,33 @@ function Crest({ image, label }) {
1255
1279
  function FormBar({ w, d, l }) {
1256
1280
  if (w + d + l === 0) return null;
1257
1281
  return /* @__PURE__ */ jsxs4("span", { className: "ss-w-form", "aria-hidden": "true", children: [
1258
- w > 0 ? /* @__PURE__ */ jsx6("span", { className: "ss-w-form-w", style: { flexGrow: w } }) : null,
1259
- d > 0 ? /* @__PURE__ */ jsx6("span", { className: "ss-w-form-d", style: { flexGrow: d } }) : null,
1260
- l > 0 ? /* @__PURE__ */ jsx6("span", { className: "ss-w-form-l", style: { flexGrow: l } }) : null
1282
+ w > 0 ? /* @__PURE__ */ jsx7("span", { className: "ss-w-form-w", style: { flexGrow: w } }) : null,
1283
+ d > 0 ? /* @__PURE__ */ jsx7("span", { className: "ss-w-form-d", style: { flexGrow: d } }) : null,
1284
+ l > 0 ? /* @__PURE__ */ jsx7("span", { className: "ss-w-form-l", style: { flexGrow: l } }) : null
1261
1285
  ] });
1262
1286
  }
1263
1287
  function StatCellView({ s }) {
1264
1288
  const m = RECORD_RE.exec(s.value);
1265
1289
  if (m) {
1266
1290
  return /* @__PURE__ */ jsxs4("div", { className: "ss-w-ecard-cell", children: [
1267
- /* @__PURE__ */ jsx6("span", { className: "ss-w-ecard-cval", children: /* @__PURE__ */ jsx6(FormBar, { w: Number(m[1]), d: Number(m[2]), l: Number(m[3]) }) }),
1268
- /* @__PURE__ */ jsx6("span", { className: "ss-w-ecard-clabel", children: s.value })
1291
+ /* @__PURE__ */ jsx7("span", { className: "ss-w-ecard-cval", children: /* @__PURE__ */ jsx7(FormBar, { w: Number(m[1]), d: Number(m[2]), l: Number(m[3]) }) }),
1292
+ /* @__PURE__ */ jsx7("span", { className: "ss-w-ecard-clabel", children: s.value })
1269
1293
  ] });
1270
1294
  }
1271
1295
  return /* @__PURE__ */ jsxs4("div", { className: "ss-w-ecard-cell", children: [
1272
- /* @__PURE__ */ jsx6("span", { className: "ss-w-ecard-cval", children: s.value }),
1273
- /* @__PURE__ */ jsx6("span", { className: "ss-w-ecard-clabel", children: s.label })
1296
+ /* @__PURE__ */ jsx7("span", { className: "ss-w-ecard-cval", children: s.value }),
1297
+ /* @__PURE__ */ jsx7("span", { className: "ss-w-ecard-clabel", children: s.label })
1274
1298
  ] });
1275
1299
  }
1276
1300
  function StatStrip({ stats }) {
1277
1301
  if (stats.length === 0) return null;
1278
1302
  const cols = Math.min(stats.length, 4);
1279
- return /* @__PURE__ */ jsx6("div", { className: "ss-w-ecard-strip", style: { gridTemplateColumns: `repeat(${cols}, 1fr)` }, children: stats.map((s) => /* @__PURE__ */ jsx6(StatCellView, { s }, s.label + s.value)) });
1303
+ return /* @__PURE__ */ jsx7("div", { className: "ss-w-ecard-strip", style: { gridTemplateColumns: `repeat(${cols}, 1fr)` }, children: stats.map((s) => /* @__PURE__ */ jsx7(StatCellView, { s }, s.label + s.value)) });
1280
1304
  }
1281
1305
  function CardHeader({ c, showScopeCrest }) {
1282
1306
  const onlyScope = c.scopes.length === 1 ? c.scopes[0] : null;
1283
1307
  return /* @__PURE__ */ jsxs4("div", { className: "ss-w-ecard-hd", children: [
1284
- /* @__PURE__ */ jsx6(
1308
+ /* @__PURE__ */ jsx7(
1285
1309
  "span",
1286
1310
  {
1287
1311
  className: c.kind === "team" ? "ss-w-thumb ss-w-team" : "ss-w-thumb",
@@ -1290,17 +1314,17 @@ function CardHeader({ c, showScopeCrest }) {
1290
1314
  }
1291
1315
  ),
1292
1316
  /* @__PURE__ */ jsxs4("span", { className: "ss-w-ecard-idtext", children: [
1293
- /* @__PURE__ */ jsx6("span", { className: "ss-w-nm", children: c.name }),
1294
- c.sub ? /* @__PURE__ */ jsx6("span", { className: "ss-w-sub", children: c.sub }) : null
1317
+ /* @__PURE__ */ jsx7("span", { className: "ss-w-nm", children: c.name }),
1318
+ c.sub ? /* @__PURE__ */ jsx7("span", { className: "ss-w-sub", children: c.sub }) : null
1295
1319
  ] }),
1296
1320
  /* @__PURE__ */ jsxs4("span", { className: "ss-w-ecard-meta", children: [
1297
- showScopeCrest && onlyScope?.image ? /* @__PURE__ */ jsx6(Crest, { image: onlyScope.image, label: onlyScope.label }) : null,
1298
- c.season ? /* @__PURE__ */ jsx6("span", { className: "ss-w-ecard-season", children: shortSeason(c.season) }) : null
1321
+ showScopeCrest && onlyScope?.image ? /* @__PURE__ */ jsx7(Crest, { image: onlyScope.image, label: onlyScope.label }) : null,
1322
+ c.season ? /* @__PURE__ */ jsx7("span", { className: "ss-w-ecard-season", children: shortSeason(c.season) }) : null
1299
1323
  ] })
1300
1324
  ] });
1301
1325
  }
1302
1326
  function ScopeTabs({ scopes, active, onSelect }) {
1303
- return /* @__PURE__ */ jsx6("div", { className: "ss-w-ecard-scopes", role: "tablist", children: scopes.map((s, i) => /* @__PURE__ */ jsx6(
1327
+ return /* @__PURE__ */ jsx7("div", { className: "ss-w-ecard-scopes", role: "tablist", children: scopes.map((s, i) => /* @__PURE__ */ jsx7(
1304
1328
  "button",
1305
1329
  {
1306
1330
  type: "button",
@@ -1310,46 +1334,46 @@ function ScopeTabs({ scopes, active, onSelect }) {
1310
1334
  "aria-label": s.label,
1311
1335
  title: s.label,
1312
1336
  onClick: () => onSelect(i),
1313
- children: s.image ? /* @__PURE__ */ jsx6(Crest, { image: s.image }) : s.label
1337
+ children: s.image ? /* @__PURE__ */ jsx7(Crest, { image: s.image }) : s.label
1314
1338
  },
1315
1339
  String(s.competitionId ?? "all")
1316
1340
  )) });
1317
1341
  }
1318
1342
  function EntityCardItem({ c }) {
1319
- const [active, setActive] = useState2(0);
1343
+ const [active, setActive] = useState3(0);
1320
1344
  const hasBody = c.scopes.length > 0;
1321
1345
  if (!hasBody) {
1322
- return /* @__PURE__ */ jsx6("div", { className: "ss-w-ecard ss-w-ecard-bare", "data-kind": c.kind, children: /* @__PURE__ */ jsx6(CardHeader, { c, showScopeCrest: false }) });
1346
+ return /* @__PURE__ */ jsx7("div", { className: "ss-w-ecard ss-w-ecard-bare", "data-kind": c.kind, children: /* @__PURE__ */ jsx7(CardHeader, { c, showScopeCrest: false }) });
1323
1347
  }
1324
1348
  const multi = c.scopes.length > 1;
1325
1349
  const scope = c.scopes[multi ? c.scopes[active] ? active : 0 : 0];
1326
1350
  return /* @__PURE__ */ jsxs4("div", { className: "ss-w-ecard", "data-kind": c.kind, children: [
1327
- /* @__PURE__ */ jsx6(CardHeader, { c, showScopeCrest: !multi }),
1328
- multi ? /* @__PURE__ */ jsx6(ScopeTabs, { scopes: c.scopes, active, onSelect: setActive }) : null,
1329
- /* @__PURE__ */ jsx6(StatStrip, { stats: scope.stats })
1351
+ /* @__PURE__ */ jsx7(CardHeader, { c, showScopeCrest: !multi }),
1352
+ multi ? /* @__PURE__ */ jsx7(ScopeTabs, { scopes: c.scopes, active, onSelect: setActive }) : null,
1353
+ /* @__PURE__ */ jsx7(StatStrip, { stats: scope.stats })
1330
1354
  ] });
1331
1355
  }
1332
1356
  function EntityCardList({ cards, disabled, showLessLabel = "Show less", showMoreLabel = (n) => `Show ${n} more` }) {
1333
- const [expanded, setExpanded] = useState2(false);
1357
+ const [expanded, setExpanded] = useState3(false);
1334
1358
  if (cards.length === 0) return null;
1335
1359
  const visible = expanded ? cards : cards.slice(0, MAX_VISIBLE);
1336
1360
  const overflow = cards.length - MAX_VISIBLE;
1337
1361
  return /* @__PURE__ */ jsxs4("div", { className: "ss-w-cards", children: [
1338
- visible.map((c) => /* @__PURE__ */ jsx6(EntityCardItem, { c }, c.id)),
1339
- overflow > 0 ? /* @__PURE__ */ jsx6("button", { type: "button", className: "ss-w-cards-more", disabled, onClick: () => setExpanded((v) => !v), children: expanded ? showLessLabel : showMoreLabel(overflow) }) : null
1362
+ visible.map((c) => /* @__PURE__ */ jsx7(EntityCardItem, { c }, c.id)),
1363
+ overflow > 0 ? /* @__PURE__ */ jsx7("button", { type: "button", className: "ss-w-cards-more", disabled, onClick: () => setExpanded((v) => !v), children: expanded ? showLessLabel : showMoreLabel(overflow) }) : null
1340
1364
  ] });
1341
1365
  }
1342
1366
 
1343
1367
  // src/components/BettingInsightList.tsx
1344
- import { useState as useState6 } from "react";
1368
+ import { useState as useState7 } from "react";
1345
1369
 
1346
1370
  // src/components/AddToSlipButton.tsx
1347
- import { useCallback as useCallback3, useState as useState3 } from "react";
1371
+ import { useCallback as useCallback3, useState as useState4 } from "react";
1348
1372
  import { isAddToSlipResult } from "@sensiblestats/widget-sdk";
1349
1373
 
1350
1374
  // src/components/Toast.tsx
1351
1375
  import { useEffect as useEffect4 } from "react";
1352
- import { jsx as jsx7 } from "react/jsx-runtime";
1376
+ import { jsx as jsx8 } from "react/jsx-runtime";
1353
1377
  var DISMISS_MS = 4e3;
1354
1378
  function Toast({ toast, onDismiss }) {
1355
1379
  useEffect4(() => {
@@ -1358,11 +1382,11 @@ function Toast({ toast, onDismiss }) {
1358
1382
  return () => clearTimeout(timer);
1359
1383
  }, [toast, onDismiss]);
1360
1384
  if (!toast) return null;
1361
- return /* @__PURE__ */ jsx7("div", { className: `ss-w-toast ss-w-toast-${toast.kind}`, role: "status", "aria-live": "polite", children: toast.text });
1385
+ return /* @__PURE__ */ jsx8("div", { className: `ss-w-toast ss-w-toast-${toast.kind}`, role: "status", "aria-live": "polite", children: toast.text });
1362
1386
  }
1363
1387
 
1364
1388
  // src/components/AddToSlipButton.tsx
1365
- import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
1389
+ import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
1366
1390
  function withTimeout(value) {
1367
1391
  return Promise.race([
1368
1392
  value,
@@ -1370,9 +1394,9 @@ function withTimeout(value) {
1370
1394
  ]);
1371
1395
  }
1372
1396
  function SlipButton({ selection, shownOdds, marketName, slip, ui }) {
1373
- const [pending, setPending] = useState3(false);
1374
- const [settled, setSettled] = useState3(false);
1375
- const [toast, setToast] = useState3(null);
1397
+ const [pending, setPending] = useState4(false);
1398
+ const [settled, setSettled] = useState4(false);
1399
+ const [toast, setToast] = useState4(null);
1376
1400
  const dismiss = useCallback3(() => setToast(null), []);
1377
1401
  const handler = slip.onAddToSlip;
1378
1402
  if (!ui || !handler || !selection) return null;
@@ -1397,7 +1421,7 @@ function SlipButton({ selection, shownOdds, marketName, slip, ui }) {
1397
1421
  }
1398
1422
  };
1399
1423
  return /* @__PURE__ */ jsxs5("div", { className: "ss-w-slip", children: [
1400
- /* @__PURE__ */ jsx8(
1424
+ /* @__PURE__ */ jsx9(
1401
1425
  "button",
1402
1426
  {
1403
1427
  type: "button",
@@ -1407,16 +1431,16 @@ function SlipButton({ selection, shownOdds, marketName, slip, ui }) {
1407
1431
  children: settled ? ui.inSlip : ui.addToSlip
1408
1432
  }
1409
1433
  ),
1410
- /* @__PURE__ */ jsx8(Toast, { toast, onDismiss: dismiss })
1434
+ /* @__PURE__ */ jsx9(Toast, { toast, onDismiss: dismiss })
1411
1435
  ] });
1412
1436
  }
1413
1437
  function AddToSlipButton({ it, slip, ui }) {
1414
1438
  const selection = it.addToSlipEnabled ? toSlipSelection(it, slip.conversationId) : null;
1415
- return /* @__PURE__ */ jsx8(SlipButton, { selection, shownOdds: it.odds ?? "", marketName: it.market, slip, ui });
1439
+ return /* @__PURE__ */ jsx9(SlipButton, { selection, shownOdds: it.odds ?? "", marketName: it.market, slip, ui });
1416
1440
  }
1417
1441
 
1418
1442
  // src/components/OddsMovementBadge.tsx
1419
- import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
1443
+ import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
1420
1444
  function OddsMovementBadge({
1421
1445
  previous,
1422
1446
  current,
@@ -1430,32 +1454,32 @@ function OddsMovementBadge({
1430
1454
  // Strikethrough is invisible to screen readers, so the whole was/now/direction sentence rides
1431
1455
  // on one aria-label and the visual glyphs are hidden from the accessibility tree.
1432
1456
  /* @__PURE__ */ jsxs6("span", { className: "ss-w-move", role: "img", "aria-label": label, children: [
1433
- /* @__PURE__ */ jsx9("span", { className: "ss-w-move-prev", "aria-hidden": "true", children: previous }),
1434
- /* @__PURE__ */ jsx9("span", { className: "ss-w-move-arrow", "aria-hidden": "true", children: direction === "shortened" ? "\u25BC" : "\u25B2" })
1457
+ /* @__PURE__ */ jsx10("span", { className: "ss-w-move-prev", "aria-hidden": "true", children: previous }),
1458
+ /* @__PURE__ */ jsx10("span", { className: "ss-w-move-arrow", "aria-hidden": "true", children: direction === "shortened" ? "\u25BC" : "\u25B2" })
1435
1459
  ] })
1436
1460
  );
1437
1461
  }
1438
1462
 
1439
1463
  // src/components/Crest.tsx
1440
- import { useState as useState4 } from "react";
1441
- import { jsx as jsx10 } from "react/jsx-runtime";
1464
+ import { useState as useState5 } from "react";
1465
+ import { jsx as jsx11 } from "react/jsx-runtime";
1442
1466
  function initials2(name) {
1443
1467
  return (name ?? "").trim().slice(0, 1).toUpperCase() || "?";
1444
1468
  }
1445
1469
  function Crest2({ url, name, kind }) {
1446
1470
  const cls = kind === "comp" ? "ss-w-bi-comp-logo" : "ss-w-bi-crest";
1447
- const [failed, setFailed] = useState4(false);
1471
+ const [failed, setFailed] = useState5(false);
1448
1472
  if (url && !failed) {
1449
- return /* @__PURE__ */ jsx10("img", { className: cls, src: url, alt: "", "aria-hidden": "true", onError: () => setFailed(true) });
1473
+ return /* @__PURE__ */ jsx11("img", { className: cls, src: url, alt: "", "aria-hidden": "true", onError: () => setFailed(true) });
1450
1474
  }
1451
- return /* @__PURE__ */ jsx10("span", { className: `${cls} ss-w-bi-crest-mono`, "aria-hidden": "true", children: initials2(name) });
1475
+ return /* @__PURE__ */ jsx11("span", { className: `${cls} ss-w-bi-crest-mono`, "aria-hidden": "true", children: initials2(name) });
1452
1476
  }
1453
1477
 
1454
1478
  // src/components/PinToggle.tsx
1455
- import { useCallback as useCallback4, useState as useState5 } from "react";
1456
- import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
1479
+ import { useCallback as useCallback4, useState as useState6 } from "react";
1480
+ import { jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
1457
1481
  function PinToggle({ pin, monitor, ui }) {
1458
- const [toast, setToast] = useState5(null);
1482
+ const [toast, setToast] = useState6(null);
1459
1483
  const dismiss = useCallback4(() => setToast(null), []);
1460
1484
  if (!monitor || !monitor.enabled) return null;
1461
1485
  const key = pinKey(pin);
@@ -1470,7 +1494,7 @@ function PinToggle({ pin, monitor, ui }) {
1470
1494
  }
1471
1495
  };
1472
1496
  return /* @__PURE__ */ jsxs7("div", { className: "ss-w-pin-wrap", children: [
1473
- /* @__PURE__ */ jsx11(
1497
+ /* @__PURE__ */ jsx12(
1474
1498
  "button",
1475
1499
  {
1476
1500
  type: "button",
@@ -1479,46 +1503,46 @@ function PinToggle({ pin, monitor, ui }) {
1479
1503
  "aria-pressed": pinned,
1480
1504
  "aria-label": pinned ? labels.unpin : labels.pin,
1481
1505
  onClick,
1482
- children: /* @__PURE__ */ jsx11("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: /* @__PURE__ */ jsx11("path", { fill: "currentColor", d: "M9.5 1.5 14.5 6.5 13 8l-.5-.5-3 3 .3 2.2-1.4 1.4L5.6 11.3l-3.3 3.3-1-1 3.3-3.3L1.9 7.5l1.4-1.4 2.2.3 3-3L8 2.9z" }) })
1506
+ children: /* @__PURE__ */ jsx12("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: /* @__PURE__ */ jsx12("path", { fill: "currentColor", d: "M9.5 1.5 14.5 6.5 13 8l-.5-.5-3 3 .3 2.2-1.4 1.4L5.6 11.3l-3.3 3.3-1-1 3.3-3.3L1.9 7.5l1.4-1.4 2.2.3 3-3L8 2.9z" }) })
1483
1507
  }
1484
1508
  ),
1485
- /* @__PURE__ */ jsx11(Toast, { toast, onDismiss: dismiss })
1509
+ /* @__PURE__ */ jsx12(Toast, { toast, onDismiss: dismiss })
1486
1510
  ] });
1487
1511
  }
1488
1512
 
1489
1513
  // src/components/BettingInsightList.tsx
1490
- import { Fragment, jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
1514
+ import { Fragment, jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
1491
1515
  function StatRows({ stats }) {
1492
- return /* @__PURE__ */ jsx12("div", { className: "ss-w-bi-rows", children: stats.map((s) => /* @__PURE__ */ jsxs8("div", { className: "ss-w-bi-row", children: [
1493
- /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-row-lbl", children: s.label }),
1494
- /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-row-num", children: s.value })
1516
+ return /* @__PURE__ */ jsx13("div", { className: "ss-w-bi-rows", children: stats.map((s) => /* @__PURE__ */ jsxs8("div", { className: "ss-w-bi-row", children: [
1517
+ /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-row-lbl", children: s.label }),
1518
+ /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-row-num", children: s.value })
1495
1519
  ] }, `${s.label}:${s.value}`)) });
1496
1520
  }
1497
1521
  function ScopedStats({ scopes }) {
1498
- const [active, setActive] = useState6(0);
1522
+ const [active, setActive] = useState7(0);
1499
1523
  const current = scopes[active] ?? scopes[0] ?? { key: "", label: "", stats: [] };
1500
1524
  return /* @__PURE__ */ jsxs8("div", { className: "ss-w-bi-scoped", children: [
1501
- /* @__PURE__ */ jsx12("div", { className: "ss-w-bi-scopes", role: "group", children: scopes.map((s, i) => /* @__PURE__ */ jsx12("button", { type: "button", className: "ss-w-bi-chip", "aria-pressed": i === active, onClick: () => setActive(i), children: s.label }, s.key)) }),
1502
- /* @__PURE__ */ jsx12(StatRows, { stats: current.stats }, current.key)
1525
+ /* @__PURE__ */ jsx13("div", { className: "ss-w-bi-scopes", role: "group", children: scopes.map((s, i) => /* @__PURE__ */ jsx13("button", { type: "button", className: "ss-w-bi-chip", "aria-pressed": i === active, onClick: () => setActive(i), children: s.label }, s.key)) }),
1526
+ /* @__PURE__ */ jsx13(StatRows, { stats: current.stats }, current.key)
1503
1527
  ] });
1504
1528
  }
1505
1529
  function hasStatsContent(it) {
1506
1530
  return !!it.scopes && it.scopes.length >= 2 || it.stats.length > 0;
1507
1531
  }
1508
1532
  function ReasonStrip({ it, ui }) {
1509
- const [open, setOpen] = useState6(false);
1533
+ const [open, setOpen] = useState7(false);
1510
1534
  const hasScopes = !!it.scopes && it.scopes.length >= 2;
1511
1535
  const hasStats = hasStatsContent(it);
1512
1536
  const hasText = !!it.text;
1513
1537
  if (!hasText && !hasStats) return null;
1514
1538
  const expandable = hasStats || (it.text?.length ?? 0) > 90;
1515
1539
  return /* @__PURE__ */ jsxs8("div", { className: "ss-w-bi-reason", children: [
1516
- /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-chart", "aria-hidden": "true" }),
1540
+ /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-chart", "aria-hidden": "true" }),
1517
1541
  /* @__PURE__ */ jsxs8("div", { className: "ss-w-bi-reason-body", children: [
1518
- hasText ? /* @__PURE__ */ jsx12("p", { className: `ss-w-bi-text${open ? "" : " ss-w-bi-text-clamp"}`, children: it.text }) : null,
1519
- open && hasStats ? hasScopes ? /* @__PURE__ */ jsx12(ScopedStats, { scopes: it.scopes }) : /* @__PURE__ */ jsx12(StatRows, { stats: it.stats }) : null
1542
+ hasText ? /* @__PURE__ */ jsx13("p", { className: `ss-w-bi-text${open ? "" : " ss-w-bi-text-clamp"}`, children: it.text }) : null,
1543
+ open && hasStats ? hasScopes ? /* @__PURE__ */ jsx13(ScopedStats, { scopes: it.scopes }) : /* @__PURE__ */ jsx13(StatRows, { stats: it.stats }) : null
1520
1544
  ] }),
1521
- expandable ? /* @__PURE__ */ jsx12(
1545
+ expandable ? /* @__PURE__ */ jsx13(
1522
1546
  "button",
1523
1547
  {
1524
1548
  type: "button",
@@ -1526,7 +1550,7 @@ function ReasonStrip({ it, ui }) {
1526
1550
  "aria-expanded": open,
1527
1551
  "aria-label": open ? ui?.hideStats ?? "Hide stats" : ui?.showStats ?? "Show stats",
1528
1552
  onClick: () => setOpen((v) => !v),
1529
- children: /* @__PURE__ */ jsx12("span", { className: `ss-w-bi-arrow${open ? " ss-w-bi-arrow-open" : ""}`, "aria-hidden": "true" })
1553
+ children: /* @__PURE__ */ jsx13("span", { className: `ss-w-bi-arrow${open ? " ss-w-bi-arrow-open" : ""}`, "aria-hidden": "true" })
1530
1554
  }
1531
1555
  ) : null
1532
1556
  ] });
@@ -1534,18 +1558,18 @@ function ReasonStrip({ it, ui }) {
1534
1558
  function CardFixture({ it }) {
1535
1559
  if (it.homeTeamName && it.awayTeamName) {
1536
1560
  return /* @__PURE__ */ jsxs8(Fragment, { children: [
1537
- /* @__PURE__ */ jsx12(Crest2, { kind: "team", url: it.homeCrest, name: it.homeTeamName }),
1538
- /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-team", children: it.homeTeamName }),
1539
- /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-vs", "aria-hidden": "true", children: "vs" }),
1540
- /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-team", children: it.awayTeamName }),
1541
- /* @__PURE__ */ jsx12(Crest2, { kind: "team", url: it.awayCrest, name: it.awayTeamName })
1561
+ /* @__PURE__ */ jsx13(Crest2, { kind: "team", url: it.homeCrest, name: it.homeTeamName }),
1562
+ /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-team", children: it.homeTeamName }),
1563
+ /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-vs", "aria-hidden": "true", children: "vs" }),
1564
+ /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-team", children: it.awayTeamName }),
1565
+ /* @__PURE__ */ jsx13(Crest2, { kind: "team", url: it.awayCrest, name: it.awayTeamName })
1542
1566
  ] });
1543
1567
  }
1544
- if (it.fixture) return /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-fixture-txt", children: it.fixture });
1568
+ if (it.fixture) return /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-fixture-txt", children: it.fixture });
1545
1569
  if (it.competition) {
1546
1570
  return /* @__PURE__ */ jsxs8(Fragment, { children: [
1547
- /* @__PURE__ */ jsx12(Crest2, { kind: "comp", url: it.competitionCrest, name: it.competition }),
1548
- /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-comp", children: it.competition })
1571
+ /* @__PURE__ */ jsx13(Crest2, { kind: "comp", url: it.competitionCrest, name: it.competition }),
1572
+ /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-comp", children: it.competition })
1549
1573
  ] });
1550
1574
  }
1551
1575
  return null;
@@ -1560,36 +1584,36 @@ function InsightCard({ it, ui, slip, monitor }) {
1560
1584
  const showHeader = leftIsFixture || !!it.competition || live || !!kickoff || showPin;
1561
1585
  return /* @__PURE__ */ jsxs8("div", { className: "ss-w-binsight", children: [
1562
1586
  showHeader ? /* @__PURE__ */ jsxs8("div", { className: "ss-w-bi-header", children: [
1563
- /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-header-left", children: /* @__PURE__ */ jsx12(CardFixture, { it }) }),
1587
+ /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-header-left", children: /* @__PURE__ */ jsx13(CardFixture, { it }) }),
1564
1588
  /* @__PURE__ */ jsxs8("span", { className: "ss-w-bi-header-right", children: [
1565
1589
  live ? /* @__PURE__ */ jsxs8("span", { className: "ss-w-bi-live", children: [
1566
- /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-live-dot", "aria-hidden": "true" }),
1590
+ /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-live-dot", "aria-hidden": "true" }),
1567
1591
  ui?.liveLabel ?? "Live"
1568
1592
  ] }) : null,
1569
- compInMeta ? /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-comp-meta", title: it.competition, children: /* @__PURE__ */ jsx12(Crest2, { kind: "comp", url: it.competitionCrest, name: it.competition }) }) : null,
1593
+ compInMeta ? /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-comp-meta", title: it.competition, children: /* @__PURE__ */ jsx13(Crest2, { kind: "comp", url: it.competitionCrest, name: it.competition }) }) : null,
1570
1594
  kickoff ? /* @__PURE__ */ jsxs8("span", { className: "ss-w-bi-kick", children: [
1571
1595
  kickoff.dayLabel,
1572
1596
  " ",
1573
1597
  kickoff.time
1574
1598
  ] }) : null,
1575
- showPin && ui ? /* @__PURE__ */ jsx12(PinToggle, { ui, monitor, pin: { kind: "match", matchId: it.matchId } }) : null
1599
+ showPin && ui ? /* @__PURE__ */ jsx13(PinToggle, { ui, monitor, pin: { kind: "match", matchId: it.matchId } }) : null
1576
1600
  ] })
1577
1601
  ] }) : null,
1578
1602
  /* @__PURE__ */ jsxs8("div", { className: "ss-w-bi-action-row", children: [
1579
1603
  /* @__PURE__ */ jsxs8("span", { className: "ss-w-bi-pick", children: [
1580
- /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-market", children: it.market }),
1604
+ /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-market", children: it.market }),
1581
1605
  it.selection ? /* @__PURE__ */ jsxs8(Fragment, { children: [
1582
- /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-pick-dot", "aria-hidden": "true", children: "\xB7" }),
1583
- /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-sel", children: it.selection })
1606
+ /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-pick-dot", "aria-hidden": "true", children: "\xB7" }),
1607
+ /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-sel", children: it.selection })
1584
1608
  ] }) : null
1585
1609
  ] }),
1586
1610
  it.odds ? /* @__PURE__ */ jsxs8("span", { className: "ss-w-bi-odds", children: [
1587
- /* @__PURE__ */ jsx12("b", { children: it.odds }),
1588
- /* @__PURE__ */ jsx12(OddsMovementBadge, { previous: it.previousOdds, current: it.odds, direction: it.movementDirection, ui }),
1589
- it.bookmaker ? /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-book", children: it.bookmaker }) : null
1611
+ /* @__PURE__ */ jsx13("b", { children: it.odds }),
1612
+ /* @__PURE__ */ jsx13(OddsMovementBadge, { previous: it.previousOdds, current: it.odds, direction: it.movementDirection, ui }),
1613
+ it.bookmaker ? /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-book", children: it.bookmaker }) : null
1590
1614
  ] }) : null,
1591
- /* @__PURE__ */ jsx12(AddToSlipButton, { it, slip, ui }),
1592
- showPin && ui ? /* @__PURE__ */ jsx12(
1615
+ /* @__PURE__ */ jsx13(AddToSlipButton, { it, slip, ui }),
1616
+ showPin && ui ? /* @__PURE__ */ jsx13(
1593
1617
  PinToggle,
1594
1618
  {
1595
1619
  ui,
@@ -1605,48 +1629,48 @@ function InsightCard({ it, ui, slip, monitor }) {
1605
1629
  }
1606
1630
  ) : null
1607
1631
  ] }),
1608
- it.isMarketFloor ? /* @__PURE__ */ jsx12("span", { className: "ss-w-bi-floor", children: ui?.marketFloorLabel ?? "Market price \xB7 not a value pick" }) : null,
1609
- /* @__PURE__ */ jsx12(ReasonStrip, { it, ui }),
1610
- it.disclaimer ? /* @__PURE__ */ jsx12("p", { className: "ss-w-bi-disc", children: it.disclaimer }) : null
1632
+ it.isMarketFloor ? /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-floor", children: ui?.marketFloorLabel ?? "Market price \xB7 not a value pick" }) : null,
1633
+ /* @__PURE__ */ jsx13(ReasonStrip, { it, ui }),
1634
+ it.disclaimer ? /* @__PURE__ */ jsx13("p", { className: "ss-w-bi-disc", children: it.disclaimer }) : null
1611
1635
  ] });
1612
1636
  }
1613
1637
  function BettingInsightList({ insights, ui, slip, monitor }) {
1614
1638
  if (!insights || insights.length === 0) return null;
1615
- return /* @__PURE__ */ jsx12("div", { className: "ss-w-binsights", children: insights.map((it) => /* @__PURE__ */ jsx12(InsightCard, { it, ui, slip, monitor }, it.id)) });
1639
+ return /* @__PURE__ */ jsx13("div", { className: "ss-w-binsights", children: insights.map((it) => /* @__PURE__ */ jsx13(InsightCard, { it, ui, slip, monitor }, it.id)) });
1616
1640
  }
1617
1641
 
1618
1642
  // src/components/MarketOddsCardList.tsx
1619
- import { useState as useState7 } from "react";
1620
- import { Fragment as Fragment2, jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
1643
+ import { useState as useState8 } from "react";
1644
+ import { Fragment as Fragment2, jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
1621
1645
  function OddsRow({ vm, row, ui, slip, inSlipIds }) {
1622
1646
  const selection = vm.addToSlipEnabled ? marketOddsRowToSlipSelection(vm, row, slip.conversationId) : null;
1623
1647
  const inSlip = !!inSlipIds && row.matchOddsId != null && !!inSlipIds[row.matchOddsId];
1624
1648
  return /* @__PURE__ */ jsxs9("div", { className: "ss-w-mo-row", children: [
1625
- /* @__PURE__ */ jsx13("span", { className: "ss-w-mo-sel", children: row.selection }),
1626
- /* @__PURE__ */ jsx13(OddsMovementBadge, { previous: row.previousOdds, current: row.odds, direction: row.movementDirection, ui }),
1627
- /* @__PURE__ */ jsx13("span", { className: "ss-w-mo-price", children: row.odds }),
1649
+ /* @__PURE__ */ jsx14("span", { className: "ss-w-mo-sel", children: row.selection }),
1650
+ /* @__PURE__ */ jsx14(OddsMovementBadge, { previous: row.previousOdds, current: row.odds, direction: row.movementDirection, ui }),
1651
+ /* @__PURE__ */ jsx14("span", { className: "ss-w-mo-price", children: row.odds }),
1628
1652
  inSlip && ui ? /* @__PURE__ */ jsxs9("span", { className: "ss-w-mon-inslip", children: [
1629
1653
  "\u2713 ",
1630
1654
  ui.inSlipLabel
1631
1655
  ] }) : null,
1632
- /* @__PURE__ */ jsx13(SlipButton, { selection, shownOdds: row.odds, marketName: vm.market, slip, ui })
1656
+ /* @__PURE__ */ jsx14(SlipButton, { selection, shownOdds: row.odds, marketName: vm.market, slip, ui })
1633
1657
  ] });
1634
1658
  }
1635
1659
  function MarketOddsCard({ vm, ui, slip, monitor, inSlipIds }) {
1636
- const [open, setOpen] = useState7(false);
1660
+ const [open, setOpen] = useState8(false);
1637
1661
  const kickoff = vm.kickoffUtc && ui?.bettingKickoff ? ui.bettingKickoff(vm.kickoffUtc) : void 0;
1638
1662
  const hasNamedTeams = !!vm.homeTeamName && !!vm.awayTeamName;
1639
1663
  const showPin = !!monitor && vm.pinEnabled;
1640
1664
  const showHeader = !!vm.competition || vm.isLive || !!kickoff || showPin;
1641
1665
  return /* @__PURE__ */ jsxs9("div", { className: "ss-w-mocard", children: [
1642
1666
  showHeader ? /* @__PURE__ */ jsxs9("div", { className: "ss-w-bi-header", children: [
1643
- /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-header-left", children: vm.competition ? /* @__PURE__ */ jsxs9(Fragment2, { children: [
1644
- /* @__PURE__ */ jsx13(Crest2, { kind: "comp", url: vm.competitionCrest, name: vm.competition }),
1645
- /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-comp", children: vm.competition })
1667
+ /* @__PURE__ */ jsx14("span", { className: "ss-w-bi-header-left", children: vm.competition ? /* @__PURE__ */ jsxs9(Fragment2, { children: [
1668
+ /* @__PURE__ */ jsx14(Crest2, { kind: "comp", url: vm.competitionCrest, name: vm.competition }),
1669
+ /* @__PURE__ */ jsx14("span", { className: "ss-w-bi-comp", children: vm.competition })
1646
1670
  ] }) : null }),
1647
1671
  /* @__PURE__ */ jsxs9("span", { className: "ss-w-bi-header-right", children: [
1648
1672
  vm.isLive ? /* @__PURE__ */ jsxs9("span", { className: "ss-w-bi-live", children: [
1649
- /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-live-dot", "aria-hidden": "true" }),
1673
+ /* @__PURE__ */ jsx14("span", { className: "ss-w-bi-live-dot", "aria-hidden": "true" }),
1650
1674
  ui?.liveLabel ?? "Live"
1651
1675
  ] }) : null,
1652
1676
  kickoff ? /* @__PURE__ */ jsxs9("span", { className: "ss-w-bi-kick", children: [
@@ -1654,7 +1678,7 @@ function MarketOddsCard({ vm, ui, slip, monitor, inSlipIds }) {
1654
1678
  " ",
1655
1679
  kickoff.time
1656
1680
  ] }) : null,
1657
- showPin && ui ? /* @__PURE__ */ jsx13(
1681
+ showPin && ui ? /* @__PURE__ */ jsx14(
1658
1682
  PinToggle,
1659
1683
  {
1660
1684
  ui,
@@ -1666,33 +1690,33 @@ function MarketOddsCard({ vm, ui, slip, monitor, inSlipIds }) {
1666
1690
  ] }) : null,
1667
1691
  hasNamedTeams || vm.fixture || vm.market ? /* @__PURE__ */ jsxs9("div", { className: "ss-w-mo-sub", children: [
1668
1692
  hasNamedTeams ? /* @__PURE__ */ jsxs9("div", { className: "ss-w-bi-fixture", children: [
1669
- /* @__PURE__ */ jsx13(Crest2, { kind: "team", url: vm.homeCrest, name: vm.homeTeamName }),
1670
- /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-team", children: vm.homeTeamName }),
1671
- /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-vs", "aria-hidden": "true", children: "vs" }),
1672
- /* @__PURE__ */ jsx13("span", { className: "ss-w-bi-team", children: vm.awayTeamName }),
1673
- /* @__PURE__ */ jsx13(Crest2, { kind: "team", url: vm.awayCrest, name: vm.awayTeamName })
1674
- ] }) : vm.fixture ? /* @__PURE__ */ jsx13("span", { className: "ss-w-mo-teams", children: vm.fixture }) : null,
1675
- vm.market ? /* @__PURE__ */ jsx13("span", { className: "ss-w-mo-market", children: vm.market }) : null
1693
+ /* @__PURE__ */ jsx14(Crest2, { kind: "team", url: vm.homeCrest, name: vm.homeTeamName }),
1694
+ /* @__PURE__ */ jsx14("span", { className: "ss-w-bi-team", children: vm.homeTeamName }),
1695
+ /* @__PURE__ */ jsx14("span", { className: "ss-w-bi-vs", "aria-hidden": "true", children: "vs" }),
1696
+ /* @__PURE__ */ jsx14("span", { className: "ss-w-bi-team", children: vm.awayTeamName }),
1697
+ /* @__PURE__ */ jsx14(Crest2, { kind: "team", url: vm.awayCrest, name: vm.awayTeamName })
1698
+ ] }) : vm.fixture ? /* @__PURE__ */ jsx14("span", { className: "ss-w-mo-teams", children: vm.fixture }) : null,
1699
+ vm.market ? /* @__PURE__ */ jsx14("span", { className: "ss-w-mo-market", children: vm.market }) : null
1676
1700
  ] }) : null,
1677
1701
  /* @__PURE__ */ jsxs9("div", { className: "ss-w-mo-rows", children: [
1678
- vm.mainRows.map((row) => /* @__PURE__ */ jsx13(OddsRow, { vm, row, ui, slip, inSlipIds }, row.key)),
1679
- open ? vm.moreRows.map((row) => /* @__PURE__ */ jsx13(OddsRow, { vm, row, ui, slip, inSlipIds }, row.key)) : null
1702
+ vm.mainRows.map((row) => /* @__PURE__ */ jsx14(OddsRow, { vm, row, ui, slip, inSlipIds }, row.key)),
1703
+ open ? vm.moreRows.map((row) => /* @__PURE__ */ jsx14(OddsRow, { vm, row, ui, slip, inSlipIds }, row.key)) : null
1680
1704
  ] }),
1681
1705
  vm.moreRows.length > 0 ? /* @__PURE__ */ jsxs9("button", { type: "button", className: "ss-w-mo-more", "aria-expanded": open, onClick: () => setOpen((v) => !v), children: [
1682
- /* @__PURE__ */ jsx13("span", { children: open ? ui?.hideLines ?? "Hide lines" : `${ui?.moreLines ?? "More lines"} (${vm.moreRows.length})` }),
1683
- /* @__PURE__ */ jsx13("span", { className: `ss-w-mo-more-chev${open ? " ss-w-mo-more-chev-up" : ""}`, "aria-hidden": "true" })
1706
+ /* @__PURE__ */ jsx14("span", { children: open ? ui?.hideLines ?? "Hide lines" : `${ui?.moreLines ?? "More lines"} (${vm.moreRows.length})` }),
1707
+ /* @__PURE__ */ jsx14("span", { className: `ss-w-mo-more-chev${open ? " ss-w-mo-more-chev-up" : ""}`, "aria-hidden": "true" })
1684
1708
  ] }) : null,
1685
- vm.bookmaker ? /* @__PURE__ */ jsx13("div", { className: "ss-w-mo-foot", children: /* @__PURE__ */ jsx13("span", { children: vm.bookmaker }) }) : null,
1686
- vm.disclaimer ? /* @__PURE__ */ jsx13("p", { className: "ss-w-bi-disc", children: vm.disclaimer }) : null
1709
+ vm.bookmaker ? /* @__PURE__ */ jsx14("div", { className: "ss-w-mo-foot", children: /* @__PURE__ */ jsx14("span", { children: vm.bookmaker }) }) : null,
1710
+ vm.disclaimer ? /* @__PURE__ */ jsx14("p", { className: "ss-w-bi-disc", children: vm.disclaimer }) : null
1687
1711
  ] });
1688
1712
  }
1689
1713
  function MarketOddsCardList({ cards, ui, slip, monitor, inSlipIds }) {
1690
1714
  if (!cards || cards.length === 0) return null;
1691
- return /* @__PURE__ */ jsx13("div", { className: "ss-w-mocards", children: cards.map((vm) => /* @__PURE__ */ jsx13(MarketOddsCard, { vm, ui, slip, monitor, inSlipIds }, vm.id)) });
1715
+ return /* @__PURE__ */ jsx14("div", { className: "ss-w-mocards", children: cards.map((vm) => /* @__PURE__ */ jsx14(MarketOddsCard, { vm, ui, slip, monitor, inSlipIds }, vm.id)) });
1692
1716
  }
1693
1717
 
1694
1718
  // src/components/OddsMovementCard.tsx
1695
- import { Fragment as Fragment3, jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
1719
+ import { Fragment as Fragment3, jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
1696
1720
  function directionWord(vm, ui) {
1697
1721
  if (vm.direction === "shortened") return ui?.oddsShortened ?? "shortened";
1698
1722
  if (vm.direction === "drifted") return ui?.oddsDrifted ?? "drifted";
@@ -1705,9 +1729,9 @@ function OddsMovementCard({ vm, ui, monitor }) {
1705
1729
  const showPin = !!monitor && vm.pinEnabled;
1706
1730
  return /* @__PURE__ */ jsxs10("div", { className: "ss-w-omcard", children: [
1707
1731
  /* @__PURE__ */ jsxs10("div", { className: "ss-w-om-head", children: [
1708
- /* @__PURE__ */ jsx14("span", { className: "ss-w-om-market", children: vm.market }),
1709
- /* @__PURE__ */ jsx14("span", { className: "ss-w-om-tag", children: ui?.priceMovement ?? "Price movement" }),
1710
- showPin && ui ? /* @__PURE__ */ jsx14(
1732
+ /* @__PURE__ */ jsx15("span", { className: "ss-w-om-market", children: vm.market }),
1733
+ /* @__PURE__ */ jsx15("span", { className: "ss-w-om-tag", children: ui?.priceMovement ?? "Price movement" }),
1734
+ showPin && ui ? /* @__PURE__ */ jsx15(
1711
1735
  PinToggle,
1712
1736
  {
1713
1737
  ui,
@@ -1725,12 +1749,12 @@ function OddsMovementCard({ vm, ui, monitor }) {
1725
1749
  ) : null
1726
1750
  ] }),
1727
1751
  vm.fixture ? /* @__PURE__ */ jsxs10("div", { className: "ss-w-om-fixture", children: [
1728
- /* @__PURE__ */ jsx14("span", { children: vm.fixture }),
1729
- vm.competition ? /* @__PURE__ */ jsx14("span", { className: "ss-w-om-comp", children: vm.competition }) : null
1752
+ /* @__PURE__ */ jsx15("span", { children: vm.fixture }),
1753
+ vm.competition ? /* @__PURE__ */ jsx15("span", { className: "ss-w-om-comp", children: vm.competition }) : null
1730
1754
  ] }) : null,
1731
- /* @__PURE__ */ jsx14("div", { className: "ss-w-om-sel", children: vm.selection }),
1732
- /* @__PURE__ */ jsx14(OddsMovementBadge, { previous: vm.opening, current: vm.current, direction: vm.direction, ui }),
1733
- vm.geometry === null ? /* @__PURE__ */ jsx14("div", { className: "ss-w-om-empty", children: vm.observationCount === 1 ? ui?.singlePricePoint ?? "Only one price recorded so far for this selection." : ui?.notEnoughHistory ?? "No price history recorded yet for this selection." }) : /* @__PURE__ */ jsxs10(
1755
+ /* @__PURE__ */ jsx15("div", { className: "ss-w-om-sel", children: vm.selection }),
1756
+ /* @__PURE__ */ jsx15(OddsMovementBadge, { previous: vm.opening, current: vm.current, direction: vm.direction, ui }),
1757
+ vm.geometry === null ? /* @__PURE__ */ jsx15("div", { className: "ss-w-om-empty", children: vm.observationCount === 1 ? ui?.singlePricePoint ?? "Only one price recorded so far for this selection." : ui?.notEnoughHistory ?? "No price history recorded yet for this selection." }) : /* @__PURE__ */ jsxs10(
1734
1758
  "svg",
1735
1759
  {
1736
1760
  className: "ss-w-om-chart",
@@ -1740,15 +1764,15 @@ function OddsMovementCard({ vm, ui, monitor }) {
1740
1764
  "aria-label": aria,
1741
1765
  children: [
1742
1766
  vm.geometry.gridlines.map((g) => /* @__PURE__ */ jsxs10("g", { children: [
1743
- /* @__PURE__ */ jsx14("line", { className: "ss-w-om-grid", x1: 40, y1: g.y, x2: CHART_VIEW_W - 8, y2: g.y }),
1744
- /* @__PURE__ */ jsx14("text", { className: "ss-w-om-ylab", x: 34, y: g.y + 3, textAnchor: "end", children: g.price.toFixed(2) })
1767
+ /* @__PURE__ */ jsx15("line", { className: "ss-w-om-grid", x1: 40, y1: g.y, x2: CHART_VIEW_W - 8, y2: g.y }),
1768
+ /* @__PURE__ */ jsx15("text", { className: "ss-w-om-ylab", x: 34, y: g.y + 3, textAnchor: "end", children: g.price.toFixed(2) })
1745
1769
  ] }, g.price)),
1746
- /* @__PURE__ */ jsx14("path", { className: "ss-w-om-line", d: vm.geometry.path, fill: "none" }),
1747
- vm.geometry.markers.map((m, i) => /* @__PURE__ */ jsx14("circle", { className: "ss-w-om-dot", cx: m.x, cy: m.y, r: 2.5 }, i)),
1770
+ /* @__PURE__ */ jsx15("path", { className: "ss-w-om-line", d: vm.geometry.path, fill: "none" }),
1771
+ vm.geometry.markers.map((m, i) => /* @__PURE__ */ jsx15("circle", { className: "ss-w-om-dot", cx: m.x, cy: m.y, r: 2.5 }, i)),
1748
1772
  ui?.chartTimeLabel ? /* @__PURE__ */ jsxs10(Fragment3, { children: [
1749
- /* @__PURE__ */ jsx14("text", { className: "ss-w-om-xlab", x: 40, y: CHART_VIEW_H - 8, textAnchor: "start", children: ui.chartTimeLabel(vm.geometry.startMs) }),
1750
- /* @__PURE__ */ jsx14("text", { className: "ss-w-om-xlab", x: CHART_VIEW_W - 8, y: CHART_VIEW_H - 8, textAnchor: "end", children: ui.chartTimeLabel(vm.geometry.endMs) })
1751
- ] }) : /* @__PURE__ */ jsx14("text", { className: "ss-w-om-xlab", x: 40, y: CHART_VIEW_H - 8, children: ui?.movementWindow ? ui.movementWindow(vm.windowHours) : `Last ${vm.windowHours}h` })
1773
+ /* @__PURE__ */ jsx15("text", { className: "ss-w-om-xlab", x: 40, y: CHART_VIEW_H - 8, textAnchor: "start", children: ui.chartTimeLabel(vm.geometry.startMs) }),
1774
+ /* @__PURE__ */ jsx15("text", { className: "ss-w-om-xlab", x: CHART_VIEW_W - 8, y: CHART_VIEW_H - 8, textAnchor: "end", children: ui.chartTimeLabel(vm.geometry.endMs) })
1775
+ ] }) : /* @__PURE__ */ jsx15("text", { className: "ss-w-om-xlab", x: 40, y: CHART_VIEW_H - 8, children: ui?.movementWindow ? ui.movementWindow(vm.windowHours) : `Last ${vm.windowHours}h` })
1752
1776
  ]
1753
1777
  }
1754
1778
  ),
@@ -1756,66 +1780,66 @@ function OddsMovementCard({ vm, ui, monitor }) {
1756
1780
  /* @__PURE__ */ jsxs10("span", { children: [
1757
1781
  ui?.openingLabel ?? "Opening",
1758
1782
  " ",
1759
- /* @__PURE__ */ jsx14("b", { children: vm.opening })
1783
+ /* @__PURE__ */ jsx15("b", { children: vm.opening })
1760
1784
  ] }),
1761
1785
  /* @__PURE__ */ jsxs10("span", { children: [
1762
1786
  ui?.currentLabel ?? "Current",
1763
1787
  " ",
1764
- /* @__PURE__ */ jsx14("b", { children: vm.current })
1788
+ /* @__PURE__ */ jsx15("b", { children: vm.current })
1765
1789
  ] })
1766
1790
  ] }),
1767
- vm.bookmaker ? /* @__PURE__ */ jsx14("div", { className: "ss-w-om-foot", children: /* @__PURE__ */ jsx14("span", { children: vm.bookmaker }) }) : null,
1768
- vm.excludedCount > 0 ? /* @__PURE__ */ jsx14("div", { className: "ss-w-om-excl", children: ui?.excludedSuspended ? ui.excludedSuspended(vm.excludedCount) : `${vm.excludedCount} suspended price(s) excluded from this chart.` }) : null,
1769
- vm.isSuspended ? /* @__PURE__ */ jsx14("div", { className: "ss-w-om-susp", children: ui?.selectionSuspended ?? "This selection is not currently available to bet." }) : null,
1770
- vm.disclaimer ? /* @__PURE__ */ jsx14("div", { className: "ss-w-om-disc", children: vm.disclaimer }) : null
1791
+ vm.bookmaker ? /* @__PURE__ */ jsx15("div", { className: "ss-w-om-foot", children: /* @__PURE__ */ jsx15("span", { children: vm.bookmaker }) }) : null,
1792
+ vm.excludedCount > 0 ? /* @__PURE__ */ jsx15("div", { className: "ss-w-om-excl", children: ui?.excludedSuspended ? ui.excludedSuspended(vm.excludedCount) : `${vm.excludedCount} suspended price(s) excluded from this chart.` }) : null,
1793
+ vm.isSuspended ? /* @__PURE__ */ jsx15("div", { className: "ss-w-om-susp", children: ui?.selectionSuspended ?? "This selection is not currently available to bet." }) : null,
1794
+ vm.disclaimer ? /* @__PURE__ */ jsx15("div", { className: "ss-w-om-disc", children: vm.disclaimer }) : null
1771
1795
  ] });
1772
1796
  }
1773
1797
  function OddsMovementCardList({ cards, ui, monitor }) {
1774
1798
  if (!cards || cards.length === 0) return null;
1775
- return /* @__PURE__ */ jsx14("div", { className: "ss-w-omcards", children: cards.map((vm) => /* @__PURE__ */ jsx14(OddsMovementCard, { vm, ui, monitor }, vm.id)) });
1799
+ return /* @__PURE__ */ jsx15("div", { className: "ss-w-omcards", children: cards.map((vm) => /* @__PURE__ */ jsx15(OddsMovementCard, { vm, ui, monitor }, vm.id)) });
1776
1800
  }
1777
1801
 
1778
1802
  // src/components/ActionButtons.tsx
1779
- import { Fragment as Fragment4, jsx as jsx15, jsxs as jsxs11 } from "react/jsx-runtime";
1803
+ import { Fragment as Fragment4, jsx as jsx16, jsxs as jsxs11 } from "react/jsx-runtime";
1780
1804
  function ActionButtons({ actions, loading, disabled, onAct }) {
1781
1805
  if (actions.length === 0 && !loading) return null;
1782
1806
  return /* @__PURE__ */ jsxs11("div", { className: "ss-w-actions", children: [
1783
- actions.map((a, i) => /* @__PURE__ */ jsx15("button", { type: "button", className: "ss-w-abtn", disabled, onClick: () => onAct(a), children: a.label }, `${a.label}-${i}`)),
1807
+ actions.map((a, i) => /* @__PURE__ */ jsx16("button", { type: "button", className: "ss-w-abtn", disabled, onClick: () => onAct(a), children: a.label }, `${a.label}-${i}`)),
1784
1808
  actions.length === 0 && loading ? /* @__PURE__ */ jsxs11(Fragment4, { children: [
1785
- /* @__PURE__ */ jsx15("span", { className: "ss-w-abtn-shimmer" }),
1786
- /* @__PURE__ */ jsx15("span", { className: "ss-w-abtn-shimmer" })
1809
+ /* @__PURE__ */ jsx16("span", { className: "ss-w-abtn-shimmer" }),
1810
+ /* @__PURE__ */ jsx16("span", { className: "ss-w-abtn-shimmer" })
1787
1811
  ] }) : null
1788
1812
  ] });
1789
1813
  }
1790
1814
 
1791
1815
  // src/components/dashboard/DashboardTile.tsx
1792
- import { jsx as jsx16, jsxs as jsxs12 } from "react/jsx-runtime";
1816
+ import { jsx as jsx17, jsxs as jsxs12 } from "react/jsx-runtime";
1793
1817
  var MAX_CRESTS = 3;
1794
1818
  function DashboardTile({ tile, onTap }) {
1795
1819
  const spanClass = tile.span === "full" ? "ss-w-dash-tile--full" : "ss-w-dash-tile--half";
1796
1820
  const crests = (tile.imageUrls ?? []).slice(0, MAX_CRESTS);
1797
1821
  const hasMeta = Boolean(tile.badgeText) || crests.length > 0;
1798
1822
  return /* @__PURE__ */ jsxs12("button", { type: "button", className: `ss-w-dash-tile ${spanClass}`, onClick: onTap, children: [
1799
- /* @__PURE__ */ jsx16("span", { className: "ss-w-dash-tile-icon", children: /* @__PURE__ */ jsx16(DashboardIcon, { name: tile.icon }) }),
1823
+ /* @__PURE__ */ jsx17("span", { className: "ss-w-dash-tile-icon", children: /* @__PURE__ */ jsx17(DashboardIcon, { name: tile.icon }) }),
1800
1824
  /* @__PURE__ */ jsxs12("span", { className: "ss-w-dash-tile-body", children: [
1801
- /* @__PURE__ */ jsx16("span", { className: "ss-w-dash-tile-title", children: tile.title }),
1802
- tile.subtitle ? /* @__PURE__ */ jsx16("span", { className: "ss-w-dash-tile-subtitle", children: tile.subtitle }) : null,
1825
+ /* @__PURE__ */ jsx17("span", { className: "ss-w-dash-tile-title", children: tile.title }),
1826
+ tile.subtitle ? /* @__PURE__ */ jsx17("span", { className: "ss-w-dash-tile-subtitle", children: tile.subtitle }) : null,
1803
1827
  hasMeta ? (
1804
1828
  // Badge + crests sit on their own row, below the title, instead of sharing the
1805
1829
  // icon/chevron row -- at the half-span tile's ~180px width a nowrap badge alone
1806
1830
  // (~70px) left the title column at ~22px and forced character-by-character wrapping.
1807
1831
  /* @__PURE__ */ jsxs12("span", { className: "ss-w-dash-tile-meta", children: [
1808
- tile.badgeText ? /* @__PURE__ */ jsx16("span", { className: "ss-w-dash-tile-badge", children: tile.badgeText }) : null,
1809
- crests.length > 0 ? /* @__PURE__ */ jsx16("span", { className: "ss-w-dash-tile-crests", children: crests.map((url, i) => /* @__PURE__ */ jsx16("span", { className: "ss-w-dash-tile-crest", style: { backgroundImage: `url(${url})` }, "aria-hidden": "true" }, `${url}-${i}`)) }) : null
1832
+ tile.badgeText ? /* @__PURE__ */ jsx17("span", { className: "ss-w-dash-tile-badge", children: tile.badgeText }) : null,
1833
+ crests.length > 0 ? /* @__PURE__ */ jsx17("span", { className: "ss-w-dash-tile-crests", children: crests.map((url, i) => /* @__PURE__ */ jsx17("span", { className: "ss-w-dash-tile-crest", style: { backgroundImage: `url(${url})` }, "aria-hidden": "true" }, `${url}-${i}`)) }) : null
1810
1834
  ] })
1811
1835
  ) : null
1812
1836
  ] }),
1813
- /* @__PURE__ */ jsx16("span", { className: "ss-w-dash-tile-chevron", children: /* @__PURE__ */ jsx16(ChevronIcon, {}) })
1837
+ /* @__PURE__ */ jsx17("span", { className: "ss-w-dash-tile-chevron", children: /* @__PURE__ */ jsx17(ChevronIcon, {}) })
1814
1838
  ] });
1815
1839
  }
1816
1840
 
1817
1841
  // src/components/dashboard/GreetingDashboard.tsx
1818
- import { jsx as jsx17, jsxs as jsxs13 } from "react/jsx-runtime";
1842
+ import { jsx as jsx18, jsxs as jsxs13 } from "react/jsx-runtime";
1819
1843
  var LAYOUT_CLASSES = {
1820
1844
  market: "ss-w-dash--market",
1821
1845
  goal: "ss-w-dash--goal",
@@ -1827,36 +1851,36 @@ function layoutClass(layout) {
1827
1851
  function GreetingDashboard({ dashboard, onTap }) {
1828
1852
  return /* @__PURE__ */ jsxs13("div", { className: `ss-w-dash ${layoutClass(dashboard.layout)}`, children: [
1829
1853
  /* @__PURE__ */ jsxs13("div", { className: "ss-w-dash-head", children: [
1830
- /* @__PURE__ */ jsx17("span", { className: "ss-w-dash-title", children: dashboard.title }),
1831
- dashboard.subtitle ? /* @__PURE__ */ jsx17("span", { className: "ss-w-dash-subtitle", children: dashboard.subtitle }) : null
1854
+ /* @__PURE__ */ jsx18("span", { className: "ss-w-dash-title", children: dashboard.title }),
1855
+ dashboard.subtitle ? /* @__PURE__ */ jsx18("span", { className: "ss-w-dash-subtitle", children: dashboard.subtitle }) : null
1832
1856
  ] }),
1833
- /* @__PURE__ */ jsx17("div", { className: "ss-w-dash-grid", children: dashboard.tiles.map((t, i) => /* @__PURE__ */ jsx17(DashboardTile, { tile: t, onTap: () => onTap(t, i) }, `${t.title}-${i}`)) }),
1834
- dashboard.footerTip ? /* @__PURE__ */ jsx17("span", { className: "ss-w-dash-foot", children: dashboard.footerTip }) : null
1857
+ /* @__PURE__ */ jsx18("div", { className: "ss-w-dash-grid", children: dashboard.tiles.map((t, i) => /* @__PURE__ */ jsx18(DashboardTile, { tile: t, onTap: () => onTap(t, i) }, `${t.title}-${i}`)) }),
1858
+ dashboard.footerTip ? /* @__PURE__ */ jsx18("span", { className: "ss-w-dash-foot", children: dashboard.footerTip }) : null
1835
1859
  ] });
1836
1860
  }
1837
1861
 
1838
1862
  // src/components/dashboard/FixtureCard.tsx
1839
- import { Fragment as Fragment5, jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
1863
+ import { Fragment as Fragment5, jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
1840
1864
  function teamFormResultClass(result) {
1841
1865
  if (result === "W") return "ss-w-fandash-teamform-cell--win";
1842
1866
  if (result === "L") return "ss-w-fandash-teamform-cell--loss";
1843
1867
  return "ss-w-fandash-teamform-cell--draw";
1844
1868
  }
1845
1869
  function TeamFormCell({ m, subjectCrestUrl, subjectName }) {
1846
- const subjectCrest = /* @__PURE__ */ jsx18(Crest2, { url: subjectCrestUrl ?? void 0, name: subjectName, kind: "team" });
1847
- const opponentCrest = /* @__PURE__ */ jsx18(Crest2, { url: m.opponentCrestUrl ?? void 0, kind: "team" });
1870
+ const subjectCrest = /* @__PURE__ */ jsx19(Crest2, { url: subjectCrestUrl ?? void 0, name: subjectName, kind: "team" });
1871
+ const opponentCrest = /* @__PURE__ */ jsx19(Crest2, { url: m.opponentCrestUrl ?? void 0, kind: "team" });
1848
1872
  const score = m.teamIsHome ? `${m.teamScore} - ${m.oppScore}` : `${m.oppScore} - ${m.teamScore}`;
1849
1873
  return /* @__PURE__ */ jsxs14("div", { className: `ss-w-fandash-teamform-cell ${teamFormResultClass(m.result)}`, children: [
1850
1874
  m.teamIsHome ? subjectCrest : opponentCrest,
1851
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-teamform-score", children: score }),
1875
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-teamform-score", children: score }),
1852
1876
  m.teamIsHome ? opponentCrest : subjectCrest
1853
1877
  ] });
1854
1878
  }
1855
1879
  var TEAM_FORM_ROWS = 5;
1856
1880
  function teamFormRows(data) {
1857
1881
  return Array.from({ length: TEAM_FORM_ROWS }, (_, i) => i).flatMap((i) => [
1858
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-teamform-slot", children: data.homeForm[i] ? /* @__PURE__ */ jsx18(TeamFormCell, { m: data.homeForm[i], subjectCrestUrl: data.homeCrestUrl, subjectName: data.homeName }) : null }, `h-${i}`),
1859
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-teamform-slot", children: data.awayForm[i] ? /* @__PURE__ */ jsx18(TeamFormCell, { m: data.awayForm[i], subjectCrestUrl: data.awayCrestUrl, subjectName: data.awayName }) : null }, `a-${i}`)
1882
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-teamform-slot", children: data.homeForm[i] ? /* @__PURE__ */ jsx19(TeamFormCell, { m: data.homeForm[i], subjectCrestUrl: data.homeCrestUrl, subjectName: data.homeName }) : null }, `h-${i}`),
1883
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-teamform-slot", children: data.awayForm[i] ? /* @__PURE__ */ jsx19(TeamFormCell, { m: data.awayForm[i], subjectCrestUrl: data.awayCrestUrl, subjectName: data.awayName }) : null }, `a-${i}`)
1860
1884
  ]);
1861
1885
  }
1862
1886
  function FixtureCard({ card }) {
@@ -1871,17 +1895,17 @@ function FixtureCard({ card }) {
1871
1895
  ] }),
1872
1896
  /* @__PURE__ */ jsxs14("div", { className: "ss-w-fandash-fixture-teams", children: [
1873
1897
  /* @__PURE__ */ jsxs14("span", { className: "ss-w-fandash-fixture-team", children: [
1874
- /* @__PURE__ */ jsx18(Crest2, { url: data.homeCrestUrl ?? void 0, name: data.homeName, kind: "team" }),
1875
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-fixture-name", children: data.homeName })
1898
+ /* @__PURE__ */ jsx19(Crest2, { url: data.homeCrestUrl ?? void 0, name: data.homeName, kind: "team" }),
1899
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-fixture-name", children: data.homeName })
1876
1900
  ] }),
1877
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-fixture-vs", children: "v" }),
1901
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-fixture-vs", children: "v" }),
1878
1902
  /* @__PURE__ */ jsxs14("span", { className: "ss-w-fandash-fixture-team ss-w-fandash-fixture-team--away", children: [
1879
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-fixture-name", children: data.awayName }),
1880
- /* @__PURE__ */ jsx18(Crest2, { url: data.awayCrestUrl ?? void 0, name: data.awayName, kind: "team" })
1903
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-fixture-name", children: data.awayName }),
1904
+ /* @__PURE__ */ jsx19(Crest2, { url: data.awayCrestUrl ?? void 0, name: data.awayName, kind: "team" })
1881
1905
  ] })
1882
1906
  ] }),
1883
1907
  /* @__PURE__ */ jsxs14("div", { className: "ss-w-fandash-fixture-meta", children: [
1884
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-fixture-kickoff", children: data.kickoffLabel }),
1908
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-fixture-kickoff", children: data.kickoffLabel }),
1885
1909
  data.venue ? /* @__PURE__ */ jsxs14("span", { className: "ss-w-fandash-fixture-venue", children: [
1886
1910
  " \xB7 ",
1887
1911
  data.venue
@@ -1889,45 +1913,45 @@ function FixtureCard({ card }) {
1889
1913
  ] })
1890
1914
  ] }),
1891
1915
  /* @__PURE__ */ jsxs14("div", { className: "ss-w-fandash-card ss-w-fandash-lastfive", children: [
1892
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-eyebrow", children: data.formLabel }),
1916
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-eyebrow", children: data.formLabel }),
1893
1917
  /* @__PURE__ */ jsxs14("div", { className: "ss-w-fandash-teamform-head", children: [
1894
1918
  /* @__PURE__ */ jsxs14("span", { className: "ss-w-fandash-teamform-head-team", children: [
1895
- /* @__PURE__ */ jsx18(Crest2, { url: data.homeCrestUrl ?? void 0, name: data.homeName, kind: "team" }),
1896
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-teamform-head-name", children: data.homeName })
1919
+ /* @__PURE__ */ jsx19(Crest2, { url: data.homeCrestUrl ?? void 0, name: data.homeName, kind: "team" }),
1920
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-teamform-head-name", children: data.homeName })
1897
1921
  ] }),
1898
1922
  /* @__PURE__ */ jsxs14("span", { className: "ss-w-fandash-teamform-head-team", children: [
1899
- /* @__PURE__ */ jsx18(Crest2, { url: data.awayCrestUrl ?? void 0, name: data.awayName, kind: "team" }),
1900
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-teamform-head-name", children: data.awayName })
1923
+ /* @__PURE__ */ jsx19(Crest2, { url: data.awayCrestUrl ?? void 0, name: data.awayName, kind: "team" }),
1924
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-teamform-head-name", children: data.awayName })
1901
1925
  ] })
1902
1926
  ] }),
1903
- /* @__PURE__ */ jsx18("div", { className: "ss-w-fandash-teamform-rows", children: teamFormRows(data) })
1927
+ /* @__PURE__ */ jsx19("div", { className: "ss-w-fandash-teamform-rows", children: teamFormRows(data) })
1904
1928
  ] }),
1905
1929
  h2h || data.fact ? /* @__PURE__ */ jsxs14("div", { className: "ss-w-fandash-card ss-w-fandash-h2h", children: [
1906
1930
  h2h ? /* @__PURE__ */ jsxs14(Fragment5, { children: [
1907
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-eyebrow", children: h2h.label }),
1931
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-eyebrow", children: h2h.label }),
1908
1932
  /* @__PURE__ */ jsxs14("div", { className: "ss-w-fandash-split", children: [
1909
1933
  /* @__PURE__ */ jsxs14("span", { className: "ss-w-fandash-split-cell", children: [
1910
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-split-value", children: h2h.wins }),
1911
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-split-label", children: h2h.homeWinsLabel })
1934
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-split-value", children: h2h.wins }),
1935
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-split-label", children: h2h.homeWinsLabel })
1912
1936
  ] }),
1913
1937
  /* @__PURE__ */ jsxs14("span", { className: "ss-w-fandash-split-cell", children: [
1914
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-split-value", children: h2h.draws }),
1915
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-split-label", children: h2h.drawsLabel })
1938
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-split-value", children: h2h.draws }),
1939
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-split-label", children: h2h.drawsLabel })
1916
1940
  ] }),
1917
1941
  /* @__PURE__ */ jsxs14("span", { className: "ss-w-fandash-split-cell", children: [
1918
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-split-value", children: h2h.losses }),
1919
- /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-split-label", children: h2h.awayWinsLabel })
1942
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-split-value", children: h2h.losses }),
1943
+ /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-split-label", children: h2h.awayWinsLabel })
1920
1944
  ] })
1921
1945
  ] })
1922
1946
  ] }) : null,
1923
- data.fact ? /* @__PURE__ */ jsx18("span", { className: "ss-w-fandash-fact", children: data.fact }) : null
1947
+ data.fact ? /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-fact", children: data.fact }) : null
1924
1948
  ] }) : null
1925
1949
  ] });
1926
1950
  }
1927
1951
 
1928
1952
  // src/components/dashboard/CountdownCard.tsx
1929
- import { Fragment as Fragment6, useEffect as useEffect5, useState as useState8 } from "react";
1930
- import { jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
1953
+ import { Fragment as Fragment6, useEffect as useEffect5, useState as useState9 } from "react";
1954
+ import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
1931
1955
  var DAY_MS = 864e5;
1932
1956
  function remainingSegments(kickoffUnix, nowMs, withSeconds) {
1933
1957
  const totalSeconds = Math.floor((kickoffUnix * 1e3 - nowMs) / 1e3);
@@ -1945,8 +1969,8 @@ function remainingSegments(kickoffUnix, nowMs, withSeconds) {
1945
1969
  function CountdownCard({ card }) {
1946
1970
  const { data } = card;
1947
1971
  const unitLabel = { d: data.daysUnit, h: data.hoursUnit, m: data.minutesUnit, s: data.secondsUnit };
1948
- const [nowMs, setNowMs] = useState8(() => Date.now());
1949
- const [reduced] = useState8(
1972
+ const [nowMs, setNowMs] = useState9(() => Date.now());
1973
+ const [reduced] = useState9(
1950
1974
  () => typeof window !== "undefined" && window.matchMedia("(prefers-reduced-motion: reduce)").matches
1951
1975
  );
1952
1976
  const withinDay = data.kickoffUnix * 1e3 - nowMs < DAY_MS;
@@ -1956,61 +1980,61 @@ function CountdownCard({ card }) {
1956
1980
  return () => window.clearInterval(id);
1957
1981
  }, [reduced, withinDay]);
1958
1982
  const segments = remainingSegments(data.kickoffUnix, nowMs, withinDay && !reduced);
1959
- return /* @__PURE__ */ jsx19("div", { className: "ss-w-fandash-card ss-w-fandash-countdown", children: /* @__PURE__ */ jsxs15("div", { className: "ss-w-fandash-countdown-top", children: [
1960
- /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-eyebrow", children: card.title ?? "Kick-off in" }),
1961
- segments ? /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-countdown-clock", children: segments.map((s, i) => /* @__PURE__ */ jsxs15(Fragment6, { children: [
1962
- i > 0 ? /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-countdown-colon", children: ":" }) : null,
1983
+ return /* @__PURE__ */ jsx20("div", { className: "ss-w-fandash-card ss-w-fandash-countdown", children: /* @__PURE__ */ jsxs15("div", { className: "ss-w-fandash-countdown-top", children: [
1984
+ /* @__PURE__ */ jsx20("span", { className: "ss-w-fandash-eyebrow", children: card.title ?? "Kick-off in" }),
1985
+ segments ? /* @__PURE__ */ jsx20("span", { className: "ss-w-fandash-countdown-clock", children: segments.map((s, i) => /* @__PURE__ */ jsxs15(Fragment6, { children: [
1986
+ i > 0 ? /* @__PURE__ */ jsx20("span", { className: "ss-w-fandash-countdown-colon", children: ":" }) : null,
1963
1987
  /* @__PURE__ */ jsxs15("span", { className: "ss-w-fandash-countdown-seg", children: [
1964
- /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-countdown-value", children: s.value }),
1965
- /* @__PURE__ */ jsx19("span", { className: "ss-w-fandash-countdown-unit", children: unitLabel[s.unit] })
1988
+ /* @__PURE__ */ jsx20("span", { className: "ss-w-fandash-countdown-value", children: s.value }),
1989
+ /* @__PURE__ */ jsx20("span", { className: "ss-w-fandash-countdown-unit", children: unitLabel[s.unit] })
1966
1990
  ] })
1967
1991
  ] }, s.unit)) }) : null
1968
1992
  ] }) });
1969
1993
  }
1970
1994
 
1971
1995
  // src/components/dashboard/InjuriesCard.tsx
1972
- import { useState as useState9 } from "react";
1973
- import { jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
1996
+ import { useState as useState10 } from "react";
1997
+ import { jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
1974
1998
  var SHOWN = 3;
1975
1999
  function ColHead({ name, crestUrl }) {
1976
2000
  return /* @__PURE__ */ jsxs16("span", { className: "ss-w-fandash-injuries-col-head", children: [
1977
- /* @__PURE__ */ jsx20(Crest2, { url: crestUrl ?? void 0, name, kind: "team" }),
1978
- /* @__PURE__ */ jsx20("span", { className: "ss-w-fandash-injuries-col-head-name", children: name })
2001
+ /* @__PURE__ */ jsx21(Crest2, { url: crestUrl ?? void 0, name, kind: "team" }),
2002
+ /* @__PURE__ */ jsx21("span", { className: "ss-w-fandash-injuries-col-head-name", children: name })
1979
2003
  ] });
1980
2004
  }
1981
2005
  function InjuryList({ rows, emptyLabel, limit }) {
1982
- if (rows.length === 0) return /* @__PURE__ */ jsx20("span", { className: "ss-w-fandash-injuries-empty", children: emptyLabel });
2006
+ if (rows.length === 0) return /* @__PURE__ */ jsx21("span", { className: "ss-w-fandash-injuries-empty", children: emptyLabel });
1983
2007
  const shown = limit === void 0 ? rows : rows.slice(0, limit);
1984
- return /* @__PURE__ */ jsx20("ul", { className: "ss-w-fandash-injury-list", children: shown.map((r, i) => /* @__PURE__ */ jsxs16("li", { className: "ss-w-fandash-injury-row", children: [
1985
- /* @__PURE__ */ jsx20("span", { className: "ss-w-fandash-injury-name", children: r.playerName }),
2008
+ return /* @__PURE__ */ jsx21("ul", { className: "ss-w-fandash-injury-list", children: shown.map((r, i) => /* @__PURE__ */ jsxs16("li", { className: "ss-w-fandash-injury-row", children: [
2009
+ /* @__PURE__ */ jsx21("span", { className: "ss-w-fandash-injury-name", children: r.playerName }),
1986
2010
  /* @__PURE__ */ jsxs16("span", { className: "ss-w-fandash-injury-meta", children: [
1987
- /* @__PURE__ */ jsx20("span", { className: "ss-w-fandash-injury-status", children: r.status }),
1988
- r.injuryType ? /* @__PURE__ */ jsx20("span", { className: "ss-w-fandash-injury-type", children: r.injuryType }) : null,
1989
- r.expectedReturnLabel ? /* @__PURE__ */ jsx20("span", { className: "ss-w-fandash-injury-return", children: r.expectedReturnLabel }) : null
2011
+ /* @__PURE__ */ jsx21("span", { className: "ss-w-fandash-injury-status", children: r.status }),
2012
+ r.injuryType ? /* @__PURE__ */ jsx21("span", { className: "ss-w-fandash-injury-type", children: r.injuryType }) : null,
2013
+ r.expectedReturnLabel ? /* @__PURE__ */ jsx21("span", { className: "ss-w-fandash-injury-return", children: r.expectedReturnLabel }) : null
1990
2014
  ] })
1991
2015
  ] }, `${r.playerName}-${i}`)) });
1992
2016
  }
1993
2017
  function InjuriesCard({ card, ui }) {
1994
2018
  const { data } = card;
1995
- const [expanded, setExpanded] = useState9(false);
2019
+ const [expanded, setExpanded] = useState10(false);
1996
2020
  const hidden = Math.max(0, data.ours.length - SHOWN) + Math.max(0, data.theirs.length - SHOWN);
1997
2021
  const limit = expanded ? void 0 : SHOWN;
1998
2022
  const showMore = ui?.showMore ?? ((n) => `Show ${n} more`);
1999
2023
  const showLess = ui?.showLess ?? "Show less";
2000
2024
  return /* @__PURE__ */ jsxs16("div", { className: "ss-w-fandash-card ss-w-fandash-injuries", children: [
2001
- card.title ? /* @__PURE__ */ jsx20("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2025
+ card.title ? /* @__PURE__ */ jsx21("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2002
2026
  /* @__PURE__ */ jsxs16("div", { className: "ss-w-fandash-injuries-cols", children: [
2003
2027
  /* @__PURE__ */ jsxs16("div", { className: "ss-w-fandash-injuries-col", children: [
2004
- /* @__PURE__ */ jsx20(ColHead, { name: data.oursName, crestUrl: data.oursCrestUrl }),
2005
- /* @__PURE__ */ jsx20(InjuryList, { rows: data.ours, emptyLabel: data.emptyLabel, limit })
2028
+ /* @__PURE__ */ jsx21(ColHead, { name: data.oursName, crestUrl: data.oursCrestUrl }),
2029
+ /* @__PURE__ */ jsx21(InjuryList, { rows: data.ours, emptyLabel: data.emptyLabel, limit })
2006
2030
  ] }),
2007
- /* @__PURE__ */ jsx20("div", { className: "ss-w-fandash-injuries-divider" }),
2031
+ /* @__PURE__ */ jsx21("div", { className: "ss-w-fandash-injuries-divider" }),
2008
2032
  /* @__PURE__ */ jsxs16("div", { className: "ss-w-fandash-injuries-col", children: [
2009
- /* @__PURE__ */ jsx20(ColHead, { name: data.theirsName, crestUrl: data.theirsCrestUrl }),
2010
- /* @__PURE__ */ jsx20(InjuryList, { rows: data.theirs, emptyLabel: data.emptyLabel, limit })
2033
+ /* @__PURE__ */ jsx21(ColHead, { name: data.theirsName, crestUrl: data.theirsCrestUrl }),
2034
+ /* @__PURE__ */ jsx21(InjuryList, { rows: data.theirs, emptyLabel: data.emptyLabel, limit })
2011
2035
  ] })
2012
2036
  ] }),
2013
- hidden > 0 ? /* @__PURE__ */ jsx20(
2037
+ hidden > 0 ? /* @__PURE__ */ jsx21(
2014
2038
  "button",
2015
2039
  {
2016
2040
  type: "button",
@@ -2024,80 +2048,80 @@ function InjuriesCard({ card, ui }) {
2024
2048
  }
2025
2049
 
2026
2050
  // src/components/dashboard/ReasonToBetCard.tsx
2027
- import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
2051
+ import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
2028
2052
  function ReasonToBetCard({ card }) {
2029
2053
  return /* @__PURE__ */ jsxs17("div", { className: "ss-w-fandash-card ss-w-fandash-reasons", children: [
2030
- card.title ? /* @__PURE__ */ jsx21("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2031
- /* @__PURE__ */ jsx21("ul", { className: "ss-w-fandash-reason-list", children: card.data.angles.map((angle, i) => /* @__PURE__ */ jsx21("li", { className: "ss-w-fandash-reason-item", children: angle }, `${angle}-${i}`)) })
2054
+ card.title ? /* @__PURE__ */ jsx22("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2055
+ /* @__PURE__ */ jsx22("ul", { className: "ss-w-fandash-reason-list", children: card.data.angles.map((angle, i) => /* @__PURE__ */ jsx22("li", { className: "ss-w-fandash-reason-item", children: angle }, `${angle}-${i}`)) })
2032
2056
  ] });
2033
2057
  }
2034
2058
 
2035
2059
  // src/components/dashboard/WhereToWatchCard.tsx
2036
- import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
2060
+ import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
2037
2061
  function WhereToWatchCard({ card }) {
2038
2062
  return /* @__PURE__ */ jsxs18("div", { className: "ss-w-fandash-card ss-w-fandash-watch", children: [
2039
- card.title ? /* @__PURE__ */ jsx22("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2040
- /* @__PURE__ */ jsx22("span", { className: "ss-w-fandash-stations", children: card.data.stations.map((station, i) => /* @__PURE__ */ jsx22("span", { className: "ss-w-fandash-station-chip", children: station }, `${station}-${i}`)) })
2063
+ card.title ? /* @__PURE__ */ jsx23("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2064
+ /* @__PURE__ */ jsx23("span", { className: "ss-w-fandash-stations", children: card.data.stations.map((station, i) => /* @__PURE__ */ jsx23("span", { className: "ss-w-fandash-station-chip", children: station }, `${station}-${i}`)) })
2041
2065
  ] });
2042
2066
  }
2043
2067
 
2044
2068
  // src/components/dashboard/CongestedWeekCard.tsx
2045
- import { jsx as jsx23, jsxs as jsxs19 } from "react/jsx-runtime";
2069
+ import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
2046
2070
  function CongestedWeekCard({ card, onTap }) {
2047
2071
  return /* @__PURE__ */ jsxs19("button", { type: "button", className: "ss-w-fandash-card ss-w-fandash-card--tap ss-w-fandash-congested", onClick: () => onTap(card), children: [
2048
- card.title ? /* @__PURE__ */ jsx23("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2049
- /* @__PURE__ */ jsx23("div", { className: "ss-w-fandash-congested-grid", children: card.data.entries.map((entry, i) => /* @__PURE__ */ jsxs19("span", { className: "ss-w-fandash-congested-cell", children: [
2050
- /* @__PURE__ */ jsx23("span", { className: "ss-w-fandash-congested-day", children: entry.dayLabel }),
2051
- /* @__PURE__ */ jsx23("span", { className: "ss-w-fandash-congested-opponent", children: entry.opponent }),
2052
- /* @__PURE__ */ jsx23("span", { className: "ss-w-fandash-congested-comp", children: entry.competition }),
2053
- /* @__PURE__ */ jsx23("span", { className: "ss-w-fandash-congested-time", children: entry.timeLabel })
2072
+ card.title ? /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2073
+ /* @__PURE__ */ jsx24("div", { className: "ss-w-fandash-congested-grid", children: card.data.entries.map((entry, i) => /* @__PURE__ */ jsxs19("span", { className: "ss-w-fandash-congested-cell", children: [
2074
+ /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-congested-day", children: entry.dayLabel }),
2075
+ /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-congested-opponent", children: entry.opponent }),
2076
+ /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-congested-comp", children: entry.competition }),
2077
+ /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-congested-time", children: entry.timeLabel })
2054
2078
  ] }, `${entry.opponent}-${i}`)) }),
2055
- /* @__PURE__ */ jsx23("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2079
+ /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2056
2080
  ] });
2057
2081
  }
2058
2082
 
2059
2083
  // src/components/dashboard/TransfersCard.tsx
2060
- import { jsx as jsx24, jsxs as jsxs20 } from "react/jsx-runtime";
2084
+ import { jsx as jsx25, jsxs as jsxs20 } from "react/jsx-runtime";
2061
2085
  function TransferList({ rows }) {
2062
- if (rows.length === 0) return /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-transfers-empty", children: "None" });
2063
- return /* @__PURE__ */ jsx24("ul", { className: "ss-w-fandash-transfer-list", children: rows.map((r, i) => /* @__PURE__ */ jsxs20("li", { className: "ss-w-fandash-transfer-row", children: [
2064
- /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-transfer-name", children: r.playerName }),
2065
- /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-transfer-club", children: r.otherClub }),
2066
- r.type ? /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-transfer-type", children: r.type }) : null
2086
+ if (rows.length === 0) return /* @__PURE__ */ jsx25("span", { className: "ss-w-fandash-transfers-empty", children: "None" });
2087
+ return /* @__PURE__ */ jsx25("ul", { className: "ss-w-fandash-transfer-list", children: rows.map((r, i) => /* @__PURE__ */ jsxs20("li", { className: "ss-w-fandash-transfer-row", children: [
2088
+ /* @__PURE__ */ jsx25("span", { className: "ss-w-fandash-transfer-name", children: r.playerName }),
2089
+ /* @__PURE__ */ jsx25("span", { className: "ss-w-fandash-transfer-club", children: r.otherClub }),
2090
+ r.type ? /* @__PURE__ */ jsx25("span", { className: "ss-w-fandash-transfer-type", children: r.type }) : null
2067
2091
  ] }, `${r.playerName}-${i}`)) });
2068
2092
  }
2069
2093
  function TransfersCard({ card }) {
2070
2094
  const { data } = card;
2071
2095
  return /* @__PURE__ */ jsxs20("div", { className: "ss-w-fandash-card ss-w-fandash-transfers", children: [
2072
- card.title ? /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2096
+ card.title ? /* @__PURE__ */ jsx25("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2073
2097
  /* @__PURE__ */ jsxs20("div", { className: "ss-w-fandash-transfers-cols", children: [
2074
2098
  /* @__PURE__ */ jsxs20("div", { className: "ss-w-fandash-transfers-col", children: [
2075
- /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-transfers-col-head", children: "In" }),
2076
- /* @__PURE__ */ jsx24(TransferList, { rows: data.in })
2099
+ /* @__PURE__ */ jsx25("span", { className: "ss-w-fandash-transfers-col-head", children: "In" }),
2100
+ /* @__PURE__ */ jsx25(TransferList, { rows: data.in })
2077
2101
  ] }),
2078
2102
  /* @__PURE__ */ jsxs20("div", { className: "ss-w-fandash-transfers-col", children: [
2079
- /* @__PURE__ */ jsx24("span", { className: "ss-w-fandash-transfers-col-head", children: "Out" }),
2080
- /* @__PURE__ */ jsx24(TransferList, { rows: data.out })
2103
+ /* @__PURE__ */ jsx25("span", { className: "ss-w-fandash-transfers-col-head", children: "Out" }),
2104
+ /* @__PURE__ */ jsx25(TransferList, { rows: data.out })
2081
2105
  ] })
2082
2106
  ] })
2083
2107
  ] });
2084
2108
  }
2085
2109
 
2086
2110
  // src/components/dashboard/LinksCard.tsx
2087
- import { jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
2111
+ import { jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
2088
2112
  function LinksCard({ card }) {
2089
2113
  return /* @__PURE__ */ jsxs21("div", { className: "ss-w-fandash-card ss-w-fandash-links", children: [
2090
- card.title ? /* @__PURE__ */ jsx25("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2091
- /* @__PURE__ */ jsx25("div", { className: "ss-w-fandash-link-grid", children: card.data.links.map((link, i) => /* @__PURE__ */ jsxs21("a", { className: "ss-w-fandash-link-tile", href: link.url, target: "_blank", rel: "noopener noreferrer", children: [
2092
- /* @__PURE__ */ jsx25("span", { className: "ss-w-fandash-link-label", children: link.label }),
2093
- /* @__PURE__ */ jsx25("span", { className: "ss-w-fandash-link-chevron", children: /* @__PURE__ */ jsx25(ChevronIcon, {}) })
2114
+ card.title ? /* @__PURE__ */ jsx26("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2115
+ /* @__PURE__ */ jsx26("div", { className: "ss-w-fandash-link-grid", children: card.data.links.map((link, i) => /* @__PURE__ */ jsxs21("a", { className: "ss-w-fandash-link-tile", href: link.url, target: "_blank", rel: "noopener noreferrer", children: [
2116
+ /* @__PURE__ */ jsx26("span", { className: "ss-w-fandash-link-label", children: link.label }),
2117
+ /* @__PURE__ */ jsx26("span", { className: "ss-w-fandash-link-chevron", children: /* @__PURE__ */ jsx26(ChevronIcon, {}) })
2094
2118
  ] }, `${link.url}-${i}`)) })
2095
2119
  ] });
2096
2120
  }
2097
2121
 
2098
2122
  // src/components/dashboard/PostMatchResultCard.tsx
2099
- import { useState as useState10 } from "react";
2100
- import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
2123
+ import { useState as useState11 } from "react";
2124
+ import { jsx as jsx27, jsxs as jsxs22 } from "react/jsx-runtime";
2101
2125
  function initials3(name) {
2102
2126
  return name.trim().slice(0, 3).toUpperCase();
2103
2127
  }
@@ -2106,12 +2130,12 @@ function PostMatchCrest({
2106
2130
  name,
2107
2131
  side
2108
2132
  }) {
2109
- const [failed, setFailed] = useState10(false);
2133
+ const [failed, setFailed] = useState11(false);
2110
2134
  const cls = `ss-w-fandash-postmatch-crest ss-w-fandash-postmatch-crest--${side}`;
2111
2135
  if (url && !failed) {
2112
- return /* @__PURE__ */ jsx26("img", { className: cls, src: url, alt: "", "aria-hidden": "true", onError: () => setFailed(true) });
2136
+ return /* @__PURE__ */ jsx27("img", { className: cls, src: url, alt: "", "aria-hidden": "true", onError: () => setFailed(true) });
2113
2137
  }
2114
- return /* @__PURE__ */ jsx26("span", { className: `${cls} ss-w-fandash-postmatch-crest--fallback`, "aria-hidden": "true", children: initials3(name) });
2138
+ return /* @__PURE__ */ jsx27("span", { className: `${cls} ss-w-fandash-postmatch-crest--fallback`, "aria-hidden": "true", children: initials3(name) });
2115
2139
  }
2116
2140
  function PostMatchResultCard({ card }) {
2117
2141
  const { data } = card;
@@ -2119,24 +2143,24 @@ function PostMatchResultCard({ card }) {
2119
2143
  const awayWon = data.awayScore >= data.homeScore;
2120
2144
  return /* @__PURE__ */ jsxs22("div", { className: "ss-w-fandash-card ss-w-fandash-postmatch-result", children: [
2121
2145
  /* @__PURE__ */ jsxs22("div", { className: "ss-w-fandash-postmatch-top", children: [
2122
- card.title ? /* @__PURE__ */ jsx26("span", { className: "ss-w-fandash-postmatch-pill", children: card.title }) : null,
2123
- /* @__PURE__ */ jsx26("span", { className: `ss-w-fandash-postmatch-tag ss-w-fandash-postmatch-tag--${data.outcome}`, children: data.resultLabel })
2146
+ card.title ? /* @__PURE__ */ jsx27("span", { className: "ss-w-fandash-postmatch-pill", children: card.title }) : null,
2147
+ /* @__PURE__ */ jsx27("span", { className: `ss-w-fandash-postmatch-tag ss-w-fandash-postmatch-tag--${data.outcome}`, children: data.resultLabel })
2124
2148
  ] }),
2125
2149
  /* @__PURE__ */ jsxs22("div", { className: "ss-w-fandash-postmatch-main", children: [
2126
2150
  /* @__PURE__ */ jsxs22("div", { className: "ss-w-fandash-postmatch-side ss-w-fandash-postmatch-side--home", children: [
2127
- /* @__PURE__ */ jsx26(PostMatchCrest, { url: data.homeCrestUrl, name: data.homeName, side: "home" }),
2128
- /* @__PURE__ */ jsx26("span", { className: "ss-w-fandash-postmatch-team-name", children: data.homeName })
2151
+ /* @__PURE__ */ jsx27(PostMatchCrest, { url: data.homeCrestUrl, name: data.homeName, side: "home" }),
2152
+ /* @__PURE__ */ jsx27("span", { className: "ss-w-fandash-postmatch-team-name", children: data.homeName })
2129
2153
  ] }),
2130
2154
  /* @__PURE__ */ jsxs22("div", { className: "ss-w-fandash-postmatch-score-main", children: [
2131
- /* @__PURE__ */ jsx26(
2155
+ /* @__PURE__ */ jsx27(
2132
2156
  "span",
2133
2157
  {
2134
2158
  className: `ss-w-fandash-postmatch-score-value ss-w-fandash-postmatch-score-value--${homeWon ? "win" : "lose"}`,
2135
2159
  children: data.homeScore
2136
2160
  }
2137
2161
  ),
2138
- /* @__PURE__ */ jsx26("span", { className: "ss-w-fandash-postmatch-score-sep", children: "\u2013" }),
2139
- /* @__PURE__ */ jsx26(
2162
+ /* @__PURE__ */ jsx27("span", { className: "ss-w-fandash-postmatch-score-sep", children: "\u2013" }),
2163
+ /* @__PURE__ */ jsx27(
2140
2164
  "span",
2141
2165
  {
2142
2166
  className: `ss-w-fandash-postmatch-score-value ss-w-fandash-postmatch-score-value--${awayWon ? "win" : "lose"}`,
@@ -2145,8 +2169,8 @@ function PostMatchResultCard({ card }) {
2145
2169
  )
2146
2170
  ] }),
2147
2171
  /* @__PURE__ */ jsxs22("div", { className: "ss-w-fandash-postmatch-side ss-w-fandash-postmatch-side--away", children: [
2148
- /* @__PURE__ */ jsx26(PostMatchCrest, { url: data.awayCrestUrl, name: data.awayName, side: "away" }),
2149
- /* @__PURE__ */ jsx26("span", { className: "ss-w-fandash-postmatch-team-name", children: data.awayName })
2172
+ /* @__PURE__ */ jsx27(PostMatchCrest, { url: data.awayCrestUrl, name: data.awayName, side: "away" }),
2173
+ /* @__PURE__ */ jsx27("span", { className: "ss-w-fandash-postmatch-team-name", children: data.awayName })
2150
2174
  ] })
2151
2175
  ] }),
2152
2176
  /* @__PURE__ */ jsxs22("div", { className: "ss-w-fandash-postmatch-meta", children: [
@@ -2157,20 +2181,20 @@ function PostMatchResultCard({ card }) {
2157
2181
  }
2158
2182
 
2159
2183
  // src/components/dashboard/PostMatchGoalsCard.tsx
2160
- import { jsx as jsx27, jsxs as jsxs23 } from "react/jsx-runtime";
2184
+ import { jsx as jsx28, jsxs as jsxs23 } from "react/jsx-runtime";
2161
2185
  function PostMatchGoalsCard({ card, onTap }) {
2162
2186
  return /* @__PURE__ */ jsxs23("button", { type: "button", className: "ss-w-fandash-card ss-w-fandash-card--tap ss-w-fandash-postmatch-goals", onClick: () => onTap(card), children: [
2163
- card.title ? /* @__PURE__ */ jsx27("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2164
- /* @__PURE__ */ jsx27("ul", { className: "ss-w-fandash-postmatch-goal-list", children: card.data.goals.map((g, i) => /* @__PURE__ */ jsxs23("li", { className: g.scoredByClub ? "ss-w-fandash-postmatch-goal ss-w-fandash-postmatch-goal--club" : "ss-w-fandash-postmatch-goal", children: [
2165
- /* @__PURE__ */ jsx27("span", { className: "ss-w-fandash-postmatch-goal-ball" }),
2166
- /* @__PURE__ */ jsx27("span", { children: g.text })
2187
+ card.title ? /* @__PURE__ */ jsx28("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2188
+ /* @__PURE__ */ jsx28("ul", { className: "ss-w-fandash-postmatch-goal-list", children: card.data.goals.map((g, i) => /* @__PURE__ */ jsxs23("li", { className: g.scoredByClub ? "ss-w-fandash-postmatch-goal ss-w-fandash-postmatch-goal--club" : "ss-w-fandash-postmatch-goal", children: [
2189
+ /* @__PURE__ */ jsx28("span", { className: "ss-w-fandash-postmatch-goal-ball" }),
2190
+ /* @__PURE__ */ jsx28("span", { children: g.text })
2167
2191
  ] }, `${g.text}-${i}`)) }),
2168
- /* @__PURE__ */ jsx27("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2192
+ /* @__PURE__ */ jsx28("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2169
2193
  ] });
2170
2194
  }
2171
2195
 
2172
2196
  // src/components/dashboard/PostMatchStatsCard.tsx
2173
- import { jsx as jsx28, jsxs as jsxs24 } from "react/jsx-runtime";
2197
+ import { jsx as jsx29, jsxs as jsxs24 } from "react/jsx-runtime";
2174
2198
  function splitWidths(homeNum, awayNum) {
2175
2199
  const total = homeNum + awayNum;
2176
2200
  if (total <= 0) return { home: "50%", away: "50%" };
@@ -2180,8 +2204,8 @@ function splitWidths(homeNum, awayNum) {
2180
2204
  function PostMatchStatsCard({ card, onTap }) {
2181
2205
  const { data } = card;
2182
2206
  return /* @__PURE__ */ jsxs24("button", { type: "button", className: "ss-w-fandash-card ss-w-fandash-card--tap ss-w-fandash-postmatch-stats", onClick: () => onTap(card), children: [
2183
- card.title ? /* @__PURE__ */ jsx28("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2184
- /* @__PURE__ */ jsx28("div", { className: "ss-w-fandash-postmatch-stat-rows", children: data.rows.map((r, i) => {
2207
+ card.title ? /* @__PURE__ */ jsx29("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2208
+ /* @__PURE__ */ jsx29("div", { className: "ss-w-fandash-postmatch-stat-rows", children: data.rows.map((r, i) => {
2185
2209
  const leftValue = data.clubIsHome ? r.clubValue : r.oppValue;
2186
2210
  const rightValue = data.clubIsHome ? r.oppValue : r.clubValue;
2187
2211
  const homeNum = data.clubIsHome ? r.clubNum : r.oppNum;
@@ -2189,32 +2213,32 @@ function PostMatchStatsCard({ card, onTap }) {
2189
2213
  const { home, away } = splitWidths(homeNum, awayNum);
2190
2214
  return /* @__PURE__ */ jsxs24("div", { className: "ss-w-fandash-postmatch-stat", children: [
2191
2215
  /* @__PURE__ */ jsxs24("div", { className: "ss-w-fandash-postmatch-stat-row", children: [
2192
- /* @__PURE__ */ jsx28("span", { className: "ss-w-fandash-postmatch-stat-value ss-w-fandash-postmatch-stat-value--home", children: leftValue }),
2193
- /* @__PURE__ */ jsx28("span", { className: "ss-w-fandash-postmatch-stat-label", children: r.label }),
2194
- /* @__PURE__ */ jsx28("span", { className: "ss-w-fandash-postmatch-stat-value ss-w-fandash-postmatch-stat-value--away", children: rightValue })
2216
+ /* @__PURE__ */ jsx29("span", { className: "ss-w-fandash-postmatch-stat-value ss-w-fandash-postmatch-stat-value--home", children: leftValue }),
2217
+ /* @__PURE__ */ jsx29("span", { className: "ss-w-fandash-postmatch-stat-label", children: r.label }),
2218
+ /* @__PURE__ */ jsx29("span", { className: "ss-w-fandash-postmatch-stat-value ss-w-fandash-postmatch-stat-value--away", children: rightValue })
2195
2219
  ] }),
2196
2220
  /* @__PURE__ */ jsxs24("div", { className: "ss-w-fandash-postmatch-stat-bar", children: [
2197
- /* @__PURE__ */ jsx28("span", { className: "ss-w-fandash-postmatch-stat-bar-home", style: { width: home } }),
2198
- /* @__PURE__ */ jsx28("span", { className: "ss-w-fandash-postmatch-stat-bar-away", style: { width: away } })
2221
+ /* @__PURE__ */ jsx29("span", { className: "ss-w-fandash-postmatch-stat-bar-home", style: { width: home } }),
2222
+ /* @__PURE__ */ jsx29("span", { className: "ss-w-fandash-postmatch-stat-bar-away", style: { width: away } })
2199
2223
  ] })
2200
2224
  ] }, `${r.label}-${i}`);
2201
2225
  }) }),
2202
2226
  data.rows.length > 0 ? /* @__PURE__ */ jsxs24("div", { className: "ss-w-fandash-postmatch-legend", children: [
2203
2227
  /* @__PURE__ */ jsxs24("span", { className: "ss-w-fandash-postmatch-legend-item", children: [
2204
- /* @__PURE__ */ jsx28("i", { className: "ss-w-fandash-postmatch-legend-swatch ss-w-fandash-postmatch-legend-swatch--home" }),
2228
+ /* @__PURE__ */ jsx29("i", { className: "ss-w-fandash-postmatch-legend-swatch ss-w-fandash-postmatch-legend-swatch--home" }),
2205
2229
  data.homeName
2206
2230
  ] }),
2207
2231
  /* @__PURE__ */ jsxs24("span", { className: "ss-w-fandash-postmatch-legend-item", children: [
2208
- /* @__PURE__ */ jsx28("i", { className: "ss-w-fandash-postmatch-legend-swatch ss-w-fandash-postmatch-legend-swatch--away" }),
2232
+ /* @__PURE__ */ jsx29("i", { className: "ss-w-fandash-postmatch-legend-swatch ss-w-fandash-postmatch-legend-swatch--away" }),
2209
2233
  data.awayName
2210
2234
  ] })
2211
2235
  ] }) : null,
2212
- /* @__PURE__ */ jsx28("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2236
+ /* @__PURE__ */ jsx29("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2213
2237
  ] });
2214
2238
  }
2215
2239
 
2216
2240
  // src/components/dashboard/PostMatchTopPerformerCard.tsx
2217
- import { jsx as jsx29, jsxs as jsxs25 } from "react/jsx-runtime";
2241
+ import { jsx as jsx30, jsxs as jsxs25 } from "react/jsx-runtime";
2218
2242
  function initials4(playerName) {
2219
2243
  const words = playerName.trim().split(/\s+/).filter(Boolean);
2220
2244
  if (words.length === 0) return "?";
@@ -2225,71 +2249,71 @@ function initials4(playerName) {
2225
2249
  function PostMatchTopPerformerCard({ card, onTap }) {
2226
2250
  const { data } = card;
2227
2251
  return /* @__PURE__ */ jsxs25("button", { type: "button", className: "ss-w-fandash-card ss-w-fandash-card--tap ss-w-fandash-postmatch-performer", onClick: () => onTap(card), children: [
2228
- card.title ? /* @__PURE__ */ jsx29("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2252
+ card.title ? /* @__PURE__ */ jsx30("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2229
2253
  /* @__PURE__ */ jsxs25("div", { className: "ss-w-fandash-postmatch-perf-row", children: [
2230
- /* @__PURE__ */ jsx29("span", { className: "ss-w-fandash-postmatch-perf-avatar", "aria-hidden": "true", children: initials4(data.playerName) }),
2231
- /* @__PURE__ */ jsx29("span", { className: "ss-w-fandash-postmatch-perf-name", children: data.playerName }),
2232
- /* @__PURE__ */ jsx29("span", { className: "ss-w-fandash-postmatch-perf-rating", children: data.ratingLabel })
2254
+ /* @__PURE__ */ jsx30("span", { className: "ss-w-fandash-postmatch-perf-avatar", "aria-hidden": "true", children: initials4(data.playerName) }),
2255
+ /* @__PURE__ */ jsx30("span", { className: "ss-w-fandash-postmatch-perf-name", children: data.playerName }),
2256
+ /* @__PURE__ */ jsx30("span", { className: "ss-w-fandash-postmatch-perf-rating", children: data.ratingLabel })
2233
2257
  ] }),
2234
- /* @__PURE__ */ jsx29("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2258
+ /* @__PURE__ */ jsx30("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2235
2259
  ] });
2236
2260
  }
2237
2261
 
2238
2262
  // src/components/dashboard/PostMatchNextCard.tsx
2239
- import { jsx as jsx30, jsxs as jsxs26 } from "react/jsx-runtime";
2263
+ import { jsx as jsx31, jsxs as jsxs26 } from "react/jsx-runtime";
2240
2264
  function PostMatchNextCard({ card }) {
2241
2265
  const { data } = card;
2242
2266
  return /* @__PURE__ */ jsxs26("div", { className: "ss-w-fandash-card ss-w-fandash-postmatch-next", children: [
2243
- card.title ? /* @__PURE__ */ jsx30("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2244
- /* @__PURE__ */ jsx30("div", { className: "ss-w-fandash-postmatch-next-row", children: /* @__PURE__ */ jsx30("span", { className: "ss-w-fandash-postmatch-next-when", children: data.whenLabel }) })
2267
+ card.title ? /* @__PURE__ */ jsx31("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2268
+ /* @__PURE__ */ jsx31("div", { className: "ss-w-fandash-postmatch-next-row", children: /* @__PURE__ */ jsx31("span", { className: "ss-w-fandash-postmatch-next-when", children: data.whenLabel }) })
2245
2269
  ] });
2246
2270
  }
2247
2271
 
2248
2272
  // src/components/dashboard/RestingNextCard.tsx
2249
- import { jsx as jsx31, jsxs as jsxs27 } from "react/jsx-runtime";
2273
+ import { jsx as jsx32, jsxs as jsxs27 } from "react/jsx-runtime";
2250
2274
  function RestingNextCard({ card, onTap }) {
2251
2275
  const { data } = card;
2252
2276
  return /* @__PURE__ */ jsxs27("button", { type: "button", className: "ss-w-fandash-card ss-w-fandash-card--tap ss-w-fandash-resting-next", onClick: () => onTap(card), children: [
2253
- card.title ? /* @__PURE__ */ jsx31("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2277
+ card.title ? /* @__PURE__ */ jsx32("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2254
2278
  /* @__PURE__ */ jsxs27("div", { className: "ss-w-fandash-resting-next-row", children: [
2255
- /* @__PURE__ */ jsx31("span", { className: "ss-w-fandash-resting-next-when", children: data.whenLabel }),
2256
- data.competition ? /* @__PURE__ */ jsx31("span", { className: "ss-w-fandash-resting-next-competition", children: data.competition }) : null
2279
+ /* @__PURE__ */ jsx32("span", { className: "ss-w-fandash-resting-next-when", children: data.whenLabel }),
2280
+ data.competition ? /* @__PURE__ */ jsx32("span", { className: "ss-w-fandash-resting-next-competition", children: data.competition }) : null
2257
2281
  ] }),
2258
- /* @__PURE__ */ jsx31("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2282
+ /* @__PURE__ */ jsx32("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2259
2283
  ] });
2260
2284
  }
2261
2285
 
2262
2286
  // src/components/dashboard/RestingStandingsCard.tsx
2263
- import { jsx as jsx32, jsxs as jsxs28 } from "react/jsx-runtime";
2287
+ import { jsx as jsx33, jsxs as jsxs28 } from "react/jsx-runtime";
2264
2288
  function RestingStandingsCard({ card, onTap }) {
2265
2289
  const { data } = card;
2266
2290
  return /* @__PURE__ */ jsxs28("button", { type: "button", className: "ss-w-fandash-card ss-w-fandash-card--tap ss-w-fandash-resting-standings", onClick: () => onTap(card), children: [
2267
- card.title ? /* @__PURE__ */ jsx32("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2291
+ card.title ? /* @__PURE__ */ jsx33("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2268
2292
  /* @__PURE__ */ jsxs28("div", { className: "ss-w-fandash-resting-standings-row", children: [
2269
- /* @__PURE__ */ jsx32("span", { className: "ss-w-fandash-resting-standings-position", children: data.positionLabel }),
2270
- /* @__PURE__ */ jsx32("span", { className: "ss-w-fandash-resting-standings-record", children: data.recordLabel })
2293
+ /* @__PURE__ */ jsx33("span", { className: "ss-w-fandash-resting-standings-position", children: data.positionLabel }),
2294
+ /* @__PURE__ */ jsx33("span", { className: "ss-w-fandash-resting-standings-record", children: data.recordLabel })
2271
2295
  ] }),
2272
- /* @__PURE__ */ jsx32("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2296
+ /* @__PURE__ */ jsx33("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2273
2297
  ] });
2274
2298
  }
2275
2299
 
2276
2300
  // src/components/dashboard/RestingSeasonCard.tsx
2277
- import { jsx as jsx33, jsxs as jsxs29 } from "react/jsx-runtime";
2301
+ import { jsx as jsx34, jsxs as jsxs29 } from "react/jsx-runtime";
2278
2302
  function RestingSeasonCard({ card, onTap }) {
2279
2303
  const { data } = card;
2280
2304
  return /* @__PURE__ */ jsxs29("button", { type: "button", className: "ss-w-fandash-card ss-w-fandash-card--tap ss-w-fandash-resting-season", onClick: () => onTap(card), children: [
2281
- card.title ? /* @__PURE__ */ jsx33("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2305
+ card.title ? /* @__PURE__ */ jsx34("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2282
2306
  /* @__PURE__ */ jsxs29("div", { className: "ss-w-fandash-resting-season-rows", children: [
2283
- data.scorerLabel ? /* @__PURE__ */ jsx33("span", { className: "ss-w-fandash-resting-season-row", children: data.scorerLabel }) : null,
2284
- data.playerLabel ? /* @__PURE__ */ jsx33("span", { className: "ss-w-fandash-resting-season-row", children: data.playerLabel }) : null,
2285
- /* @__PURE__ */ jsx33("span", { className: "ss-w-fandash-resting-season-row", children: data.tallyLabel })
2307
+ data.scorerLabel ? /* @__PURE__ */ jsx34("span", { className: "ss-w-fandash-resting-season-row", children: data.scorerLabel }) : null,
2308
+ data.playerLabel ? /* @__PURE__ */ jsx34("span", { className: "ss-w-fandash-resting-season-row", children: data.playerLabel }) : null,
2309
+ /* @__PURE__ */ jsx34("span", { className: "ss-w-fandash-resting-season-row", children: data.tallyLabel })
2286
2310
  ] }),
2287
- /* @__PURE__ */ jsx33("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2311
+ /* @__PURE__ */ jsx34("span", { className: "ss-w-fandash-card-cta", children: card.actionLabel })
2288
2312
  ] });
2289
2313
  }
2290
2314
 
2291
2315
  // src/components/dashboard/RestingFormCard.tsx
2292
- import { jsx as jsx34, jsxs as jsxs30 } from "react/jsx-runtime";
2316
+ import { jsx as jsx35, jsxs as jsxs30 } from "react/jsx-runtime";
2293
2317
  function resultClass(result) {
2294
2318
  const upper = result.toUpperCase();
2295
2319
  if (upper === "W") return "ss-w-fandash-form-pill--win";
@@ -2299,16 +2323,16 @@ function resultClass(result) {
2299
2323
  function RestingFormCard({ card }) {
2300
2324
  const { data } = card;
2301
2325
  return /* @__PURE__ */ jsxs30("div", { className: "ss-w-fandash-card ss-w-fandash-resting-form", children: [
2302
- card.title ? /* @__PURE__ */ jsx34("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2303
- /* @__PURE__ */ jsx34("span", { className: "ss-w-fandash-form", children: data.letters.map((r, i) => /* @__PURE__ */ jsx34("span", { className: `ss-w-fandash-form-pill ${resultClass(r)}`, children: r }, `${r}-${i}`)) })
2326
+ card.title ? /* @__PURE__ */ jsx35("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2327
+ /* @__PURE__ */ jsx35("span", { className: "ss-w-fandash-form", children: data.letters.map((r, i) => /* @__PURE__ */ jsx35("span", { className: `ss-w-fandash-form-pill ${resultClass(r)}`, children: r }, `${r}-${i}`)) })
2304
2328
  ] });
2305
2329
  }
2306
2330
 
2307
2331
  // src/components/dashboard/LiveScoreCard.tsx
2308
- import { useRef as useRef4, useState as useState12 } from "react";
2332
+ import { useRef as useRef4, useState as useState13 } from "react";
2309
2333
 
2310
2334
  // src/useLiveClock.ts
2311
- import { useEffect as useEffect6, useState as useState11 } from "react";
2335
+ import { useEffect as useEffect6, useState as useState12 } from "react";
2312
2336
  var TICK_MS = 6e4;
2313
2337
  var MAX_LIVE_TICK_MINUTES = 15;
2314
2338
  function computeDisplayMinute(minute, clockRunning, receivedAtMs) {
@@ -2317,7 +2341,7 @@ function computeDisplayMinute(minute, clockRunning, receivedAtMs) {
2317
2341
  return minute + Math.min(Math.max(0, elapsedMinutes), MAX_LIVE_TICK_MINUTES);
2318
2342
  }
2319
2343
  function useLiveClock(minute, clockRunning, receivedAtMs) {
2320
- const [displayMinute, setDisplayMinute] = useState11(
2344
+ const [displayMinute, setDisplayMinute] = useState12(
2321
2345
  () => computeDisplayMinute(minute, clockRunning, receivedAtMs)
2322
2346
  );
2323
2347
  useEffect6(() => {
@@ -2332,17 +2356,17 @@ function useLiveClock(minute, clockRunning, receivedAtMs) {
2332
2356
  }
2333
2357
 
2334
2358
  // src/components/dashboard/LiveScoreCard.tsx
2335
- import { jsx as jsx35, jsxs as jsxs31 } from "react/jsx-runtime";
2359
+ import { jsx as jsx36, jsxs as jsxs31 } from "react/jsx-runtime";
2336
2360
  function initials5(name) {
2337
2361
  return name.trim().slice(0, 3).toUpperCase();
2338
2362
  }
2339
2363
  function LiveCrest({ url, name, side }) {
2340
- const [failed, setFailed] = useState12(false);
2364
+ const [failed, setFailed] = useState13(false);
2341
2365
  const cls = `ss-w-fandash-live-crest ss-w-fandash-live-crest--${side}`;
2342
2366
  if (url && !failed) {
2343
- return /* @__PURE__ */ jsx35("img", { className: cls, src: url, alt: "", "aria-hidden": "true", onError: () => setFailed(true) });
2367
+ return /* @__PURE__ */ jsx36("img", { className: cls, src: url, alt: "", "aria-hidden": "true", onError: () => setFailed(true) });
2344
2368
  }
2345
- return /* @__PURE__ */ jsx35("span", { className: `${cls} ss-w-fandash-live-crest--fallback`, "aria-hidden": "true", children: initials5(name) });
2369
+ return /* @__PURE__ */ jsx36("span", { className: `${cls} ss-w-fandash-live-crest--fallback`, "aria-hidden": "true", children: initials5(name) });
2346
2370
  }
2347
2371
  function scorersLine(goalEvents) {
2348
2372
  if (!goalEvents || goalEvents.length === 0) return null;
@@ -2364,52 +2388,52 @@ function LiveScoreCard({
2364
2388
  const minuteSuffix = data.minuteLabel.replace(/^\d+/, "");
2365
2389
  const scorers = scorersLine(goalEvents);
2366
2390
  return /* @__PURE__ */ jsxs31("div", { className: "ss-w-fandash-card ss-w-fandash-live-score", children: [
2367
- card.title ? /* @__PURE__ */ jsx35("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2391
+ card.title ? /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2368
2392
  /* @__PURE__ */ jsxs31("div", { className: "ss-w-fandash-live-top", children: [
2369
2393
  /* @__PURE__ */ jsxs31("span", { className: "ss-w-fandash-live-pill", children: [
2370
- /* @__PURE__ */ jsx35("span", { className: "ss-w-fandash-live-dot", "aria-hidden": "true" }),
2394
+ /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-dot", "aria-hidden": "true" }),
2371
2395
  data.statusLabel
2372
2396
  ] }),
2373
- /* @__PURE__ */ jsx35("span", { className: "ss-w-fandash-live-minute", children: `${displayMinute}${minuteSuffix}` }),
2374
- data.competition ? /* @__PURE__ */ jsx35("span", { className: "ss-w-fandash-live-competition", children: data.competition }) : null
2397
+ /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-minute", children: `${displayMinute}${minuteSuffix}` }),
2398
+ data.competition ? /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-competition", children: data.competition }) : null
2375
2399
  ] }),
2376
2400
  /* @__PURE__ */ jsxs31("div", { className: "ss-w-fandash-live-main", children: [
2377
2401
  /* @__PURE__ */ jsxs31("div", { className: "ss-w-fandash-live-side ss-w-fandash-live-side--home", children: [
2378
- /* @__PURE__ */ jsx35(LiveCrest, { url: data.homeCrestUrl, name: data.homeName, side: "home" }),
2379
- /* @__PURE__ */ jsx35("span", { className: "ss-w-fandash-live-team-name", children: data.homeName })
2402
+ /* @__PURE__ */ jsx36(LiveCrest, { url: data.homeCrestUrl, name: data.homeName, side: "home" }),
2403
+ /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-team-name", children: data.homeName })
2380
2404
  ] }),
2381
2405
  /* @__PURE__ */ jsxs31("div", { className: "ss-w-fandash-live-score-main", children: [
2382
- /* @__PURE__ */ jsx35("span", { className: "ss-w-fandash-live-score-value", children: data.homeScore }),
2383
- /* @__PURE__ */ jsx35("span", { className: "ss-w-fandash-live-score-sep", children: "\u2013" }),
2384
- /* @__PURE__ */ jsx35("span", { className: "ss-w-fandash-live-score-value", children: data.awayScore })
2406
+ /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-score-value", children: data.homeScore }),
2407
+ /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-score-sep", children: "\u2013" }),
2408
+ /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-score-value", children: data.awayScore })
2385
2409
  ] }),
2386
2410
  /* @__PURE__ */ jsxs31("div", { className: "ss-w-fandash-live-side ss-w-fandash-live-side--away", children: [
2387
- /* @__PURE__ */ jsx35(LiveCrest, { url: data.awayCrestUrl, name: data.awayName, side: "away" }),
2388
- /* @__PURE__ */ jsx35("span", { className: "ss-w-fandash-live-team-name", children: data.awayName })
2411
+ /* @__PURE__ */ jsx36(LiveCrest, { url: data.awayCrestUrl, name: data.awayName, side: "away" }),
2412
+ /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-team-name", children: data.awayName })
2389
2413
  ] })
2390
2414
  ] }),
2391
2415
  scorers ? /* @__PURE__ */ jsxs31("div", { className: "ss-w-fandash-live-scorers", children: [
2392
- /* @__PURE__ */ jsx35("span", { className: "ss-w-fandash-live-scorers-icon", "aria-hidden": "true", children: "\u26BD" }),
2416
+ /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-scorers-icon", "aria-hidden": "true", children: "\u26BD" }),
2393
2417
  scorers
2394
2418
  ] }) : null
2395
2419
  ] });
2396
2420
  }
2397
2421
 
2398
2422
  // src/components/dashboard/LiveTimelineCard.tsx
2399
- import { useState as useState13 } from "react";
2400
- import { jsx as jsx36, jsxs as jsxs32 } from "react/jsx-runtime";
2423
+ import { useState as useState14 } from "react";
2424
+ import { jsx as jsx37, jsxs as jsxs32 } from "react/jsx-runtime";
2401
2425
  var SHOWN2 = 3;
2402
2426
  function EventIcon({ type }) {
2403
2427
  if (type === "goal") {
2404
- return /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-tl-ico ss-w-fandash-live-tl-ico--goal", "aria-hidden": "true", children: /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-tl-ball" }) });
2428
+ return /* @__PURE__ */ jsx37("span", { className: "ss-w-fandash-live-tl-ico ss-w-fandash-live-tl-ico--goal", "aria-hidden": "true", children: /* @__PURE__ */ jsx37("span", { className: "ss-w-fandash-live-tl-ball" }) });
2405
2429
  }
2406
2430
  if (type === "yellow" || type === "red") {
2407
- return /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-tl-ico", "aria-hidden": "true", children: /* @__PURE__ */ jsx36("span", { className: `ss-w-fandash-live-tl-card ss-w-fandash-live-tl-card--${type}` }) });
2431
+ return /* @__PURE__ */ jsx37("span", { className: "ss-w-fandash-live-tl-ico", "aria-hidden": "true", children: /* @__PURE__ */ jsx37("span", { className: `ss-w-fandash-live-tl-card ss-w-fandash-live-tl-card--${type}` }) });
2408
2432
  }
2409
2433
  if (type === "sub") {
2410
- return /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-tl-ico", "aria-hidden": "true", children: /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-tl-subarrows", children: "\u21C5" }) });
2434
+ return /* @__PURE__ */ jsx37("span", { className: "ss-w-fandash-live-tl-ico", "aria-hidden": "true", children: /* @__PURE__ */ jsx37("span", { className: "ss-w-fandash-live-tl-subarrows", children: "\u21C5" }) });
2411
2435
  }
2412
- return /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-tl-ico", "aria-hidden": "true", children: /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-tl-dot" }) });
2436
+ return /* @__PURE__ */ jsx37("span", { className: "ss-w-fandash-live-tl-ico", "aria-hidden": "true", children: /* @__PURE__ */ jsx37("span", { className: "ss-w-fandash-live-tl-dot" }) });
2413
2437
  }
2414
2438
  function EventLabel({ e }) {
2415
2439
  if (e.type === "sub") {
@@ -2421,7 +2445,7 @@ function EventLabel({ e }) {
2421
2445
  ] }) : null
2422
2446
  ] });
2423
2447
  }
2424
- return /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-tl-who", children: e.player ?? e.text });
2448
+ return /* @__PURE__ */ jsx37("span", { className: "ss-w-fandash-live-tl-who", children: e.player ?? e.text });
2425
2449
  }
2426
2450
  function EventRow({ e }) {
2427
2451
  const cls = [
@@ -2431,14 +2455,14 @@ function EventRow({ e }) {
2431
2455
  ].filter(Boolean).join(" ");
2432
2456
  return /* @__PURE__ */ jsxs32("div", { className: cls, children: [
2433
2457
  /* @__PURE__ */ jsxs32("span", { className: "ss-w-fandash-live-tl-txt", children: [
2434
- /* @__PURE__ */ jsx36(EventLabel, { e }),
2435
- /* @__PURE__ */ jsx36(EventIcon, { type: e.type })
2458
+ /* @__PURE__ */ jsx37(EventLabel, { e }),
2459
+ /* @__PURE__ */ jsx37(EventIcon, { type: e.type })
2436
2460
  ] }),
2437
- /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-live-tl-badge", children: e.minuteLabel })
2461
+ /* @__PURE__ */ jsx37("span", { className: "ss-w-fandash-live-tl-badge", children: e.minuteLabel })
2438
2462
  ] });
2439
2463
  }
2440
2464
  function LiveTimelineCard({ card, ui }) {
2441
- const [expanded, setExpanded] = useState13(false);
2465
+ const [expanded, setExpanded] = useState14(false);
2442
2466
  const events = card.data.events;
2443
2467
  if (!events || events.length === 0) return null;
2444
2468
  const sorted = [...events].sort((a, b) => b.minute - a.minute);
@@ -2447,9 +2471,9 @@ function LiveTimelineCard({ card, ui }) {
2447
2471
  const showMore = ui?.showMore ?? ((n) => `Show ${n} more`);
2448
2472
  const showLess = ui?.showLess ?? "Show less";
2449
2473
  return /* @__PURE__ */ jsxs32("div", { className: "ss-w-fandash-card ss-w-fandash-live-timeline", children: [
2450
- card.title ? /* @__PURE__ */ jsx36("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2451
- /* @__PURE__ */ jsx36("div", { className: "ss-w-fandash-live-tl", children: shown.map((e, i) => /* @__PURE__ */ jsx36(EventRow, { e }, `${e.minute}-${e.side}-${e.type}-${i}`)) }),
2452
- rest > 0 ? /* @__PURE__ */ jsx36(
2474
+ card.title ? /* @__PURE__ */ jsx37("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2475
+ /* @__PURE__ */ jsx37("div", { className: "ss-w-fandash-live-tl", children: shown.map((e, i) => /* @__PURE__ */ jsx37(EventRow, { e }, `${e.minute}-${e.side}-${e.type}-${i}`)) }),
2476
+ rest > 0 ? /* @__PURE__ */ jsx37(
2453
2477
  "button",
2454
2478
  {
2455
2479
  type: "button",
@@ -2464,7 +2488,7 @@ function LiveTimelineCard({ card, ui }) {
2464
2488
 
2465
2489
  // src/components/dashboard/MomentumWave.tsx
2466
2490
  import { useId } from "react";
2467
- import { jsx as jsx37, jsxs as jsxs33 } from "react/jsx-runtime";
2491
+ import { jsx as jsx38, jsxs as jsxs33 } from "react/jsx-runtime";
2468
2492
  var WIDTH = 270;
2469
2493
  var HEIGHT = 56;
2470
2494
  var BASELINE = HEIGHT / 2;
@@ -2493,7 +2517,7 @@ function MomentumWave({
2493
2517
  const topClass = clubIsHome ? "ss-w-fandash-live-mom-home" : "ss-w-fandash-live-mom-away";
2494
2518
  const bottomClass = clubIsHome ? "ss-w-fandash-live-mom-away" : "ss-w-fandash-live-mom-home";
2495
2519
  return /* @__PURE__ */ jsxs33("div", { className: "ss-w-fandash-live-mom", children: [
2496
- caption ? /* @__PURE__ */ jsx37("span", { className: "ss-w-fandash-live-mom-caption", children: caption }) : null,
2520
+ caption ? /* @__PURE__ */ jsx38("span", { className: "ss-w-fandash-live-mom-caption", children: caption }) : null,
2497
2521
  /* @__PURE__ */ jsxs33("div", { className: "ss-w-fandash-live-mom-plot", children: [
2498
2522
  /* @__PURE__ */ jsxs33(
2499
2523
  "svg",
@@ -2505,17 +2529,17 @@ function MomentumWave({
2505
2529
  "aria-label": caption ?? "Momentum",
2506
2530
  children: [
2507
2531
  /* @__PURE__ */ jsxs33("defs", { children: [
2508
- /* @__PURE__ */ jsx37("clipPath", { id: topClipId, children: /* @__PURE__ */ jsx37("rect", { x: 0, y: 0, width: WIDTH, height: BASELINE }) }),
2509
- /* @__PURE__ */ jsx37("clipPath", { id: bottomClipId, children: /* @__PURE__ */ jsx37("rect", { x: 0, y: BASELINE, width: WIDTH, height: HEIGHT - BASELINE }) })
2532
+ /* @__PURE__ */ jsx38("clipPath", { id: topClipId, children: /* @__PURE__ */ jsx38("rect", { x: 0, y: 0, width: WIDTH, height: BASELINE }) }),
2533
+ /* @__PURE__ */ jsx38("clipPath", { id: bottomClipId, children: /* @__PURE__ */ jsx38("rect", { x: 0, y: BASELINE, width: WIDTH, height: HEIGHT - BASELINE }) })
2510
2534
  ] }),
2511
- /* @__PURE__ */ jsx37("path", { d: area, className: topClass, clipPath: `url(#${topClipId})` }),
2512
- /* @__PURE__ */ jsx37("path", { d: area, className: bottomClass, clipPath: `url(#${bottomClipId})` }),
2513
- /* @__PURE__ */ jsx37("line", { x1: 0, y1: BASELINE, x2: WIDTH, y2: BASELINE, className: "ss-w-fandash-live-mom-base" }),
2514
- /* @__PURE__ */ jsx37("path", { d: line, className: "ss-w-fandash-live-mom-line", vectorEffect: "non-scaling-stroke" })
2535
+ /* @__PURE__ */ jsx38("path", { d: area, className: topClass, clipPath: `url(#${topClipId})` }),
2536
+ /* @__PURE__ */ jsx38("path", { d: area, className: bottomClass, clipPath: `url(#${bottomClipId})` }),
2537
+ /* @__PURE__ */ jsx38("line", { x1: 0, y1: BASELINE, x2: WIDTH, y2: BASELINE, className: "ss-w-fandash-live-mom-base" }),
2538
+ /* @__PURE__ */ jsx38("path", { d: line, className: "ss-w-fandash-live-mom-line", vectorEffect: "non-scaling-stroke" })
2515
2539
  ]
2516
2540
  }
2517
2541
  ),
2518
- /* @__PURE__ */ jsx37(
2542
+ /* @__PURE__ */ jsx38(
2519
2543
  "span",
2520
2544
  {
2521
2545
  className: "ss-w-fandash-live-mom-now",
@@ -2528,7 +2552,7 @@ function MomentumWave({
2528
2552
  }
2529
2553
 
2530
2554
  // src/components/dashboard/LiveStatsCard.tsx
2531
- import { jsx as jsx38, jsxs as jsxs34 } from "react/jsx-runtime";
2555
+ import { jsx as jsx39, jsxs as jsxs34 } from "react/jsx-runtime";
2532
2556
  function splitWidths2(homeNum, awayNum) {
2533
2557
  const total = homeNum + awayNum;
2534
2558
  if (total <= 0) return { home: "50%", away: "50%" };
@@ -2538,8 +2562,8 @@ function splitWidths2(homeNum, awayNum) {
2538
2562
  function LiveStatsCard({ card }) {
2539
2563
  const { data } = card;
2540
2564
  return /* @__PURE__ */ jsxs34("div", { className: "ss-w-fandash-card ss-w-fandash-live-stats", children: [
2541
- card.title ? /* @__PURE__ */ jsx38("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2542
- /* @__PURE__ */ jsx38("div", { className: "ss-w-fandash-live-stat-rows", children: data.rows.map((r, i) => {
2565
+ card.title ? /* @__PURE__ */ jsx39("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
2566
+ /* @__PURE__ */ jsx39("div", { className: "ss-w-fandash-live-stat-rows", children: data.rows.map((r, i) => {
2543
2567
  const homeValue = data.clubIsHome ? r.clubValue : r.oppValue;
2544
2568
  const awayValue = data.clubIsHome ? r.oppValue : r.clubValue;
2545
2569
  const homeNum = data.clubIsHome ? r.clubNum : r.oppNum;
@@ -2547,24 +2571,24 @@ function LiveStatsCard({ card }) {
2547
2571
  const { home, away } = splitWidths2(homeNum, awayNum);
2548
2572
  return /* @__PURE__ */ jsxs34("div", { className: "ss-w-fandash-live-stat", children: [
2549
2573
  /* @__PURE__ */ jsxs34("div", { className: "ss-w-fandash-live-stat-row", children: [
2550
- /* @__PURE__ */ jsx38("span", { className: "ss-w-fandash-live-stat-value ss-w-fandash-live-stat-value--home", children: homeValue }),
2551
- /* @__PURE__ */ jsx38("span", { className: "ss-w-fandash-live-stat-label", children: r.label }),
2552
- /* @__PURE__ */ jsx38("span", { className: "ss-w-fandash-live-stat-value ss-w-fandash-live-stat-value--away", children: awayValue })
2574
+ /* @__PURE__ */ jsx39("span", { className: "ss-w-fandash-live-stat-value ss-w-fandash-live-stat-value--home", children: homeValue }),
2575
+ /* @__PURE__ */ jsx39("span", { className: "ss-w-fandash-live-stat-label", children: r.label }),
2576
+ /* @__PURE__ */ jsx39("span", { className: "ss-w-fandash-live-stat-value ss-w-fandash-live-stat-value--away", children: awayValue })
2553
2577
  ] }),
2554
2578
  /* @__PURE__ */ jsxs34("div", { className: "ss-w-fandash-live-bar", children: [
2555
- /* @__PURE__ */ jsx38("span", { className: "ss-w-fandash-live-bar-home", style: { width: home } }),
2556
- /* @__PURE__ */ jsx38("span", { className: "ss-w-fandash-live-bar-away", style: { width: away } })
2579
+ /* @__PURE__ */ jsx39("span", { className: "ss-w-fandash-live-bar-home", style: { width: home } }),
2580
+ /* @__PURE__ */ jsx39("span", { className: "ss-w-fandash-live-bar-away", style: { width: away } })
2557
2581
  ] })
2558
2582
  ] }, `${r.label}-${i}`);
2559
2583
  }) }),
2560
- data.momentum.length > 0 ? /* @__PURE__ */ jsx38(MomentumWave, { points: data.momentum, caption: data.momentumLabel, clubIsHome: data.clubIsHome }) : data.momentumLabel ? /* @__PURE__ */ jsx38("span", { className: "ss-w-fandash-live-momentum", children: data.momentumLabel }) : null,
2584
+ data.momentum.length > 0 ? /* @__PURE__ */ jsx39(MomentumWave, { points: data.momentum, caption: data.momentumLabel, clubIsHome: data.clubIsHome }) : data.momentumLabel ? /* @__PURE__ */ jsx39("span", { className: "ss-w-fandash-live-momentum", children: data.momentumLabel }) : null,
2561
2585
  data.rows.length > 0 ? /* @__PURE__ */ jsxs34("div", { className: "ss-w-fandash-live-legend", children: [
2562
2586
  /* @__PURE__ */ jsxs34("span", { className: "ss-w-fandash-live-legend-item", children: [
2563
- /* @__PURE__ */ jsx38("i", { className: "ss-w-fandash-live-legend-swatch ss-w-fandash-live-legend-swatch--home" }),
2587
+ /* @__PURE__ */ jsx39("i", { className: "ss-w-fandash-live-legend-swatch ss-w-fandash-live-legend-swatch--home" }),
2564
2588
  data.homeName
2565
2589
  ] }),
2566
2590
  /* @__PURE__ */ jsxs34("span", { className: "ss-w-fandash-live-legend-item", children: [
2567
- /* @__PURE__ */ jsx38("i", { className: "ss-w-fandash-live-legend-swatch ss-w-fandash-live-legend-swatch--away" }),
2591
+ /* @__PURE__ */ jsx39("i", { className: "ss-w-fandash-live-legend-swatch ss-w-fandash-live-legend-swatch--away" }),
2568
2592
  data.awayName
2569
2593
  ] })
2570
2594
  ] }) : null
@@ -2572,7 +2596,7 @@ function LiveStatsCard({ card }) {
2572
2596
  }
2573
2597
 
2574
2598
  // src/components/dashboard/ClubFanDashboard.tsx
2575
- import { jsx as jsx39, jsxs as jsxs35 } from "react/jsx-runtime";
2599
+ import { jsx as jsx40, jsxs as jsxs35 } from "react/jsx-runtime";
2576
2600
  function ClubFanDashboard({ dashboard, onTap, ui }) {
2577
2601
  const orderedCards = [
2578
2602
  ...dashboard.cards.filter((c) => c.cardType === "countdown"),
@@ -2583,83 +2607,83 @@ function ClubFanDashboard({ dashboard, onTap, ui }) {
2583
2607
  );
2584
2608
  const goalEvents = timelineCard?.data.events.filter((e) => e.type === "goal");
2585
2609
  return /* @__PURE__ */ jsxs35("div", { className: "ss-w-fandash", children: [
2586
- dashboard.greeting ? /* @__PURE__ */ jsx39("span", { className: dashboard.greetingIsLead ? "ss-w-fandash-greeting ss-w-fandash-greeting--lead" : "ss-w-fandash-greeting", children: dashboard.greeting }) : null,
2587
- /* @__PURE__ */ jsx39("div", { className: "ss-w-fandash-cards", children: orderedCards.map((card, i) => /* @__PURE__ */ jsx39(FanDashboardCard, { card, onTap, ui, goalEvents }, `${card.cardType}-${i}`)) })
2610
+ dashboard.greeting ? /* @__PURE__ */ jsx40("span", { className: dashboard.greetingIsLead ? "ss-w-fandash-greeting ss-w-fandash-greeting--lead" : "ss-w-fandash-greeting", children: dashboard.greeting }) : null,
2611
+ /* @__PURE__ */ jsx40("div", { className: "ss-w-fandash-cards", children: orderedCards.map((card, i) => /* @__PURE__ */ jsx40(FanDashboardCard, { card, onTap, ui, goalEvents }, `${card.cardType}-${i}`)) })
2588
2612
  ] });
2589
2613
  }
2590
2614
  function FanDashboardCard({ card, onTap, ui, goalEvents }) {
2591
2615
  switch (card.cardType) {
2592
2616
  case "fixture":
2593
- return /* @__PURE__ */ jsx39(FixtureCard, { card });
2617
+ return /* @__PURE__ */ jsx40(FixtureCard, { card });
2594
2618
  case "countdown":
2595
- return /* @__PURE__ */ jsx39(CountdownCard, { card });
2619
+ return /* @__PURE__ */ jsx40(CountdownCard, { card });
2596
2620
  case "injuries":
2597
- return /* @__PURE__ */ jsx39(InjuriesCard, { card, ui });
2621
+ return /* @__PURE__ */ jsx40(InjuriesCard, { card, ui });
2598
2622
  case "reasonToBet":
2599
- return /* @__PURE__ */ jsx39(ReasonToBetCard, { card });
2623
+ return /* @__PURE__ */ jsx40(ReasonToBetCard, { card });
2600
2624
  case "whereToWatch":
2601
- return /* @__PURE__ */ jsx39(WhereToWatchCard, { card });
2625
+ return /* @__PURE__ */ jsx40(WhereToWatchCard, { card });
2602
2626
  case "congestedWeek":
2603
- return /* @__PURE__ */ jsx39(CongestedWeekCard, { card, onTap });
2627
+ return /* @__PURE__ */ jsx40(CongestedWeekCard, { card, onTap });
2604
2628
  case "transfers":
2605
- return /* @__PURE__ */ jsx39(TransfersCard, { card });
2629
+ return /* @__PURE__ */ jsx40(TransfersCard, { card });
2606
2630
  case "links":
2607
- return /* @__PURE__ */ jsx39(LinksCard, { card });
2631
+ return /* @__PURE__ */ jsx40(LinksCard, { card });
2608
2632
  case "postMatchResult":
2609
- return /* @__PURE__ */ jsx39(PostMatchResultCard, { card });
2633
+ return /* @__PURE__ */ jsx40(PostMatchResultCard, { card });
2610
2634
  case "postMatchGoals":
2611
- return /* @__PURE__ */ jsx39(PostMatchGoalsCard, { card, onTap });
2635
+ return /* @__PURE__ */ jsx40(PostMatchGoalsCard, { card, onTap });
2612
2636
  case "postMatchStats":
2613
- return /* @__PURE__ */ jsx39(PostMatchStatsCard, { card, onTap });
2637
+ return /* @__PURE__ */ jsx40(PostMatchStatsCard, { card, onTap });
2614
2638
  case "postMatchTopPerformer":
2615
- return /* @__PURE__ */ jsx39(PostMatchTopPerformerCard, { card, onTap });
2639
+ return /* @__PURE__ */ jsx40(PostMatchTopPerformerCard, { card, onTap });
2616
2640
  case "postMatchNext":
2617
- return /* @__PURE__ */ jsx39(PostMatchNextCard, { card });
2641
+ return /* @__PURE__ */ jsx40(PostMatchNextCard, { card });
2618
2642
  case "restingNext":
2619
- return /* @__PURE__ */ jsx39(RestingNextCard, { card, onTap });
2643
+ return /* @__PURE__ */ jsx40(RestingNextCard, { card, onTap });
2620
2644
  case "restingStandings":
2621
- return /* @__PURE__ */ jsx39(RestingStandingsCard, { card, onTap });
2645
+ return /* @__PURE__ */ jsx40(RestingStandingsCard, { card, onTap });
2622
2646
  case "restingSeason":
2623
- return /* @__PURE__ */ jsx39(RestingSeasonCard, { card, onTap });
2647
+ return /* @__PURE__ */ jsx40(RestingSeasonCard, { card, onTap });
2624
2648
  case "restingForm":
2625
- return /* @__PURE__ */ jsx39(RestingFormCard, { card });
2649
+ return /* @__PURE__ */ jsx40(RestingFormCard, { card });
2626
2650
  case "liveScore":
2627
- return /* @__PURE__ */ jsx39(LiveScoreCard, { card, goalEvents });
2651
+ return /* @__PURE__ */ jsx40(LiveScoreCard, { card, goalEvents });
2628
2652
  case "liveTimeline":
2629
- return /* @__PURE__ */ jsx39(LiveTimelineCard, { card, ui });
2653
+ return /* @__PURE__ */ jsx40(LiveTimelineCard, { card, ui });
2630
2654
  case "liveStats":
2631
- return /* @__PURE__ */ jsx39(LiveStatsCard, { card });
2655
+ return /* @__PURE__ */ jsx40(LiveStatsCard, { card });
2632
2656
  default:
2633
2657
  return null;
2634
2658
  }
2635
2659
  }
2636
2660
 
2637
2661
  // src/components/ChatMessage.tsx
2638
- import { jsx as jsx40, jsxs as jsxs36 } from "react/jsx-runtime";
2662
+ import { jsx as jsx41, jsxs as jsxs36 } from "react/jsx-runtime";
2639
2663
  function ChatMessage({ message, disabled, onAct, onTap, ui, slip, monitor }) {
2640
2664
  if (message.role === "user") {
2641
- return /* @__PURE__ */ jsx40("div", { className: "ss-w-msg ss-w-user", "data-msg-id": message.id, children: /* @__PURE__ */ jsx40("div", { className: "ss-w-bubble", children: message.text }) });
2665
+ return /* @__PURE__ */ jsx41("div", { className: "ss-w-msg ss-w-user", "data-msg-id": message.id, children: /* @__PURE__ */ jsx41("div", { className: "ss-w-bubble", children: message.text }) });
2642
2666
  }
2643
2667
  const onFanDashboardTap = (card) => {
2644
2668
  onAct({ message: card.actionLabel, actionRef: card.actionRef, label: card.actionLabel || card.title || "" });
2645
2669
  };
2646
2670
  return /* @__PURE__ */ jsxs36("div", { className: "ss-w-msg ss-w-bot", "data-msg-id": message.id, children: [
2647
- message.text && !message.greetingDashboard && !message.clubFanDashboard ? /* @__PURE__ */ jsx40(Markdown, { text: message.text }) : null,
2648
- message.greetingDashboard && !message.clubFanDashboard ? /* @__PURE__ */ jsx40(GreetingDashboard, { dashboard: message.greetingDashboard, onTap }) : null,
2649
- message.clubFanDashboard ? /* @__PURE__ */ jsx40(ClubFanDashboard, { dashboard: message.clubFanDashboard, onTap: onFanDashboardTap, ui }) : null,
2650
- /* @__PURE__ */ jsx40(EntityCardList, { cards: message.cards, disabled, showLessLabel: ui?.showLess, showMoreLabel: ui?.showMore }),
2651
- /* @__PURE__ */ jsx40(BettingInsightList, { insights: message.insights, ui, slip, monitor }),
2652
- /* @__PURE__ */ jsx40(MarketOddsCardList, { cards: message.marketOdds, ui, slip, monitor }),
2653
- /* @__PURE__ */ jsx40(OddsMovementCardList, { cards: message.oddsMovement, ui, monitor }),
2654
- /* @__PURE__ */ jsx40(ActionButtons, { actions: message.actions, loading: false, disabled, onAct })
2671
+ message.text && !message.greetingDashboard && !message.clubFanDashboard ? /* @__PURE__ */ jsx41(Markdown, { text: message.text }) : null,
2672
+ message.greetingDashboard && !message.clubFanDashboard ? /* @__PURE__ */ jsx41(GreetingDashboard, { dashboard: message.greetingDashboard, onTap }) : null,
2673
+ message.clubFanDashboard ? /* @__PURE__ */ jsx41(ClubFanDashboard, { dashboard: message.clubFanDashboard, onTap: onFanDashboardTap, ui }) : null,
2674
+ /* @__PURE__ */ jsx41(EntityCardList, { cards: message.cards, disabled, showLessLabel: ui?.showLess, showMoreLabel: ui?.showMore }),
2675
+ /* @__PURE__ */ jsx41(BettingInsightList, { insights: message.insights, ui, slip, monitor }),
2676
+ /* @__PURE__ */ jsx41(MarketOddsCardList, { cards: message.marketOdds, ui, slip, monitor }),
2677
+ /* @__PURE__ */ jsx41(OddsMovementCardList, { cards: message.oddsMovement, ui, monitor }),
2678
+ /* @__PURE__ */ jsx41(ActionButtons, { actions: message.actions, loading: false, disabled, onAct })
2655
2679
  ] });
2656
2680
  }
2657
2681
 
2658
2682
  // src/components/IntentChips.tsx
2659
- import { jsx as jsx41 } from "react/jsx-runtime";
2683
+ import { jsx as jsx42 } from "react/jsx-runtime";
2660
2684
  function IntentChips({ chips, onPick }) {
2661
2685
  if (chips.length === 0) return null;
2662
- return /* @__PURE__ */ jsx41("div", { className: "ss-w-chips", children: chips.map((c, i) => /* @__PURE__ */ jsx41("button", { type: "button", className: "ss-w-chip", onClick: () => onPick(c.text), children: c.text }, `${c.text}-${i}`)) });
2686
+ return /* @__PURE__ */ jsx42("div", { className: "ss-w-chips", children: chips.map((c, i) => /* @__PURE__ */ jsx42("button", { type: "button", className: "ss-w-chip", onClick: () => onPick(c.text), children: c.text }, `${c.text}-${i}`)) });
2663
2687
  }
2664
2688
 
2665
2689
  // src/scroll.ts
@@ -2669,7 +2693,7 @@ function isPinnedToBottom(el, threshold = PIN_THRESHOLD) {
2669
2693
  }
2670
2694
 
2671
2695
  // src/components/MessageList.tsx
2672
- import { jsx as jsx42, jsxs as jsxs37 } from "react/jsx-runtime";
2696
+ import { jsx as jsx43, jsxs as jsxs37 } from "react/jsx-runtime";
2673
2697
  function turnAnchor(messages) {
2674
2698
  const last = messages[messages.length - 1];
2675
2699
  if (!last || last.role !== "assistant") return null;
@@ -2707,7 +2731,7 @@ function MessageList({ controller, ui, slip, onDashboardTap, monitor }) {
2707
2731
  if (listRef.current) pinnedRef.current = isPinnedToBottom(listRef.current);
2708
2732
  },
2709
2733
  children: [
2710
- state.messages.map((m) => /* @__PURE__ */ jsx42(
2734
+ state.messages.map((m) => /* @__PURE__ */ jsx43(
2711
2735
  ChatMessage,
2712
2736
  {
2713
2737
  message: m,
@@ -2723,25 +2747,25 @@ function MessageList({ controller, ui, slip, onDashboardTap, monitor }) {
2723
2747
  },
2724
2748
  m.id
2725
2749
  )),
2726
- state.isStreaming && state.actionsLoading ? /* @__PURE__ */ jsx42(ActionButtons, { actions: [], loading: true, onAct: () => {
2750
+ state.isStreaming && state.actionsLoading ? /* @__PURE__ */ jsx43(ActionButtons, { actions: [], loading: true, onAct: () => {
2727
2751
  } }) : null,
2728
- state.status ? /* @__PURE__ */ jsx42("div", { className: "ss-w-status", children: state.status }) : null,
2752
+ state.status ? /* @__PURE__ */ jsx43("div", { className: "ss-w-status", children: state.status }) : null,
2729
2753
  state.error ? /* @__PURE__ */ jsxs37("div", { className: "ss-w-error", role: "alert", children: [
2730
- /* @__PURE__ */ jsx42("span", { children: "message" in state.error ? state.error.message : ui.somethingWentWrong }),
2731
- /* @__PURE__ */ jsx42("button", { type: "button", className: "ss-w-retry", onClick: () => controller.retry(), children: ui.retry })
2754
+ /* @__PURE__ */ jsx43("span", { children: "message" in state.error ? state.error.message : ui.somethingWentWrong }),
2755
+ /* @__PURE__ */ jsx43("button", { type: "button", className: "ss-w-retry", onClick: () => controller.retry(), children: ui.retry })
2732
2756
  ] }) : null,
2733
- !hasUserMessage && !hasDashboard ? /* @__PURE__ */ jsx42(IntentChips, { chips: state.starters, onPick: (t) => send(t) }) : null,
2734
- /* @__PURE__ */ jsx42("div", { ref: endRef, className: "ss-w-turn-spacer", "aria-hidden": "true" })
2757
+ !hasUserMessage && !hasDashboard ? /* @__PURE__ */ jsx43(IntentChips, { chips: state.starters, onPick: (t) => send(t) }) : null,
2758
+ /* @__PURE__ */ jsx43("div", { ref: endRef, className: "ss-w-turn-spacer", "aria-hidden": "true" })
2735
2759
  ]
2736
2760
  }
2737
2761
  );
2738
2762
  }
2739
2763
 
2740
2764
  // src/components/ChatInput.tsx
2741
- import { useState as useState14 } from "react";
2742
- import { jsx as jsx43, jsxs as jsxs38 } from "react/jsx-runtime";
2765
+ import { useState as useState15 } from "react";
2766
+ import { jsx as jsx44, jsxs as jsxs38 } from "react/jsx-runtime";
2743
2767
  function ChatInput({ placeholder, streaming, onSend, onStop, stopLabel = "Stop response", sendLabel = "Send message" }) {
2744
- const [value, setValue] = useState14("");
2768
+ const [value, setValue] = useState15("");
2745
2769
  const submit = () => {
2746
2770
  const t = value.trim();
2747
2771
  if (!t) return;
@@ -2755,13 +2779,13 @@ function ChatInput({ placeholder, streaming, onSend, onStop, stopLabel = "Stop r
2755
2779
  }
2756
2780
  };
2757
2781
  return /* @__PURE__ */ jsxs38("div", { className: "ss-w-input", children: [
2758
- /* @__PURE__ */ jsx43("textarea", { className: "ss-w-textarea", rows: 1, placeholder, value, disabled: streaming, onChange: (e) => setValue(e.target.value), onKeyDown }),
2759
- streaming ? /* @__PURE__ */ jsx43("button", { type: "button", className: "ss-w-send ss-w-stop", "aria-label": stopLabel, onClick: onStop, children: /* @__PURE__ */ jsx43("span", { className: "ss-w-stop-glyph" }) }) : /* @__PURE__ */ jsx43("button", { type: "button", className: "ss-w-send", "aria-label": sendLabel, onClick: submit, children: /* @__PURE__ */ jsx43(SendIcon, {}) })
2782
+ /* @__PURE__ */ jsx44("textarea", { className: "ss-w-textarea", rows: 1, placeholder, value, disabled: streaming, onChange: (e) => setValue(e.target.value), onKeyDown }),
2783
+ streaming ? /* @__PURE__ */ jsx44("button", { type: "button", className: "ss-w-send ss-w-stop", "aria-label": stopLabel, onClick: onStop, children: /* @__PURE__ */ jsx44("span", { className: "ss-w-stop-glyph" }) }) : /* @__PURE__ */ jsx44("button", { type: "button", className: "ss-w-send", "aria-label": sendLabel, onClick: submit, children: /* @__PURE__ */ jsx44(SendIcon, {}) })
2760
2784
  ] });
2761
2785
  }
2762
2786
 
2763
2787
  // src/components/TabBar.tsx
2764
- import { jsx as jsx44, jsxs as jsxs39 } from "react/jsx-runtime";
2788
+ import { jsx as jsx45, jsxs as jsxs39 } from "react/jsx-runtime";
2765
2789
  var TABS = [
2766
2790
  { tab: "chat", labelKey: "tabChat" },
2767
2791
  { tab: "matches", labelKey: "tabMatches" },
@@ -2775,7 +2799,7 @@ function TabBar({ monitor, ui, matchCount, oddsCount }) {
2775
2799
  matches: monitor.matchesDot && monitor.activeTab !== "matches",
2776
2800
  odds: monitor.oddsDot && monitor.activeTab !== "odds"
2777
2801
  };
2778
- return /* @__PURE__ */ jsx44("div", { className: "ss-w-tabs", role: "tablist", children: TABS.map(({ tab, labelKey }) => {
2802
+ return /* @__PURE__ */ jsx45("div", { className: "ss-w-tabs", role: "tablist", children: TABS.map(({ tab, labelKey }) => {
2779
2803
  const active = monitor.activeTab === tab;
2780
2804
  const count = counts[tab];
2781
2805
  return /* @__PURE__ */ jsxs39(
@@ -2789,8 +2813,8 @@ function TabBar({ monitor, ui, matchCount, oddsCount }) {
2789
2813
  onClick: () => monitor.setActiveTab(tab),
2790
2814
  children: [
2791
2815
  ui[labelKey],
2792
- count > 0 && /* @__PURE__ */ jsx44("span", { className: "ss-w-tab-count", children: count }),
2793
- dots[tab] && /* @__PURE__ */ jsx44("span", { className: "ss-w-tab-dot", "aria-hidden": "true" })
2816
+ count > 0 && /* @__PURE__ */ jsx45("span", { className: "ss-w-tab-count", children: count }),
2817
+ dots[tab] && /* @__PURE__ */ jsx45("span", { className: "ss-w-tab-dot", "aria-hidden": "true" })
2794
2818
  ]
2795
2819
  },
2796
2820
  tab
@@ -2799,7 +2823,7 @@ function TabBar({ monitor, ui, matchCount, oddsCount }) {
2799
2823
  }
2800
2824
 
2801
2825
  // src/components/MonitorMatchCard.tsx
2802
- import { jsx as jsx45, jsxs as jsxs40 } from "react/jsx-runtime";
2826
+ import { jsx as jsx46, jsxs as jsxs40 } from "react/jsx-runtime";
2803
2827
  function chipSelection(row, matchId, conversationId) {
2804
2828
  const chip = row.market;
2805
2829
  if (!chip || !chip.addToSlipEnabled || typeof chip.matchOddsId !== "number" || typeof chip.price !== "number") return null;
@@ -2825,36 +2849,36 @@ function MonitorMatchCard({ match, promotedPins, monitor, ui, slip }) {
2825
2849
  return /* @__PURE__ */ jsxs40("div", { className: "ss-w-mon", children: [
2826
2850
  /* @__PURE__ */ jsxs40("div", { className: "ss-w-mon-top", children: [
2827
2851
  live && /* @__PURE__ */ jsxs40("span", { className: "ss-w-fandash-live-pill", children: [
2828
- /* @__PURE__ */ jsx45("span", { className: "ss-w-fandash-live-dot", "aria-hidden": "true" }),
2852
+ /* @__PURE__ */ jsx46("span", { className: "ss-w-fandash-live-dot", "aria-hidden": "true" }),
2829
2853
  ui.liveLabel
2830
2854
  ] }),
2831
- match.phase === "fullTime" && /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-pill", children: ui.fullTimeLabel }),
2855
+ match.phase === "fullTime" && /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-pill", children: ui.fullTimeLabel }),
2832
2856
  kickoff && /* @__PURE__ */ jsxs40("span", { className: "ss-w-mon-pill", children: [
2833
2857
  kickoff.dayLabel,
2834
2858
  " \xB7 ",
2835
2859
  kickoff.time
2836
2860
  ] }),
2837
- live && match.minuteLabel && /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-min", children: match.minuteLabel }),
2838
- match.competitionName && /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-comp", children: match.competitionName }),
2839
- /* @__PURE__ */ jsx45(PinToggle, { ui, monitor, pin: { kind: "match", matchId: match.matchId } })
2861
+ live && match.minuteLabel && /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-min", children: match.minuteLabel }),
2862
+ match.competitionName && /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-comp", children: match.competitionName }),
2863
+ /* @__PURE__ */ jsx46(PinToggle, { ui, monitor, pin: { kind: "match", matchId: match.matchId } })
2840
2864
  ] }),
2841
2865
  /* @__PURE__ */ jsxs40("div", { className: "ss-w-mon-main", children: [
2842
2866
  /* @__PURE__ */ jsxs40("span", { className: "ss-w-mon-side", children: [
2843
- /* @__PURE__ */ jsx45(Crest2, { kind: "team", url: match.homeCrestUrl ?? void 0, name: match.homeTeamName ?? void 0 }),
2844
- /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-name", children: match.homeTeamName })
2867
+ /* @__PURE__ */ jsx46(Crest2, { kind: "team", url: match.homeCrestUrl ?? void 0, name: match.homeTeamName ?? void 0 }),
2868
+ /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-name", children: match.homeTeamName })
2845
2869
  ] }),
2846
- match.phase === "preMatch" ? /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-vs", children: "vs" }) : /* @__PURE__ */ jsxs40("span", { className: "ss-w-mon-score", children: [
2870
+ match.phase === "preMatch" ? /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-vs", children: "vs" }) : /* @__PURE__ */ jsxs40("span", { className: "ss-w-mon-score", children: [
2847
2871
  match.homeScore,
2848
- /* @__PURE__ */ jsx45("i", { children: "\u2013" }),
2872
+ /* @__PURE__ */ jsx46("i", { children: "\u2013" }),
2849
2873
  match.awayScore
2850
2874
  ] }),
2851
2875
  /* @__PURE__ */ jsxs40("span", { className: "ss-w-mon-side ss-w-mon-side--away", children: [
2852
- /* @__PURE__ */ jsx45(Crest2, { kind: "team", url: match.awayCrestUrl ?? void 0, name: match.awayTeamName ?? void 0 }),
2853
- /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-name", children: match.awayTeamName })
2876
+ /* @__PURE__ */ jsx46(Crest2, { kind: "team", url: match.awayCrestUrl ?? void 0, name: match.awayTeamName ?? void 0 }),
2877
+ /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-name", children: match.awayTeamName })
2854
2878
  ] })
2855
2879
  ] }),
2856
- scorers.length > 0 && /* @__PURE__ */ jsx45("div", { className: "ss-w-mon-scorers", children: scorers.map((e) => `${e.player ?? ""} ${e.minuteLabel}`).join(", ") }),
2857
- /* @__PURE__ */ jsx45("div", { className: "ss-w-mon-stats", children: orderedRows.map((row) => {
2880
+ scorers.length > 0 && /* @__PURE__ */ jsx46("div", { className: "ss-w-mon-scorers", children: scorers.map((e) => `${e.player ?? ""} ${e.minuteLabel}`).join(", ") }),
2881
+ /* @__PURE__ */ jsx46("div", { className: "ss-w-mon-stats", children: orderedRows.map((row) => {
2858
2882
  const total = row.homeNum + row.awayNum;
2859
2883
  const homePct = total > 0 ? row.homeNum / total * 75 : 0;
2860
2884
  const awayPct = total > 0 ? row.awayNum / total * 75 : 0;
@@ -2862,13 +2886,13 @@ function MonitorMatchCard({ match, promotedPins, monitor, ui, slip }) {
2862
2886
  const selection = chipSelection(row, match.matchId, slip.conversationId);
2863
2887
  return /* @__PURE__ */ jsxs40("div", { className: promoted ? "ss-w-mon-stat ss-w-mon-pstrip" : "ss-w-mon-stat", children: [
2864
2888
  /* @__PURE__ */ jsxs40("div", { className: "ss-w-mon-stat-row", children: [
2865
- /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-stat-v ss-w-mon-stat-v--home", children: row.homeValue }),
2866
- /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-stat-l", children: row.label }),
2867
- /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-stat-v ss-w-mon-stat-v--away", children: row.awayValue })
2889
+ /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-stat-v ss-w-mon-stat-v--home", children: row.homeValue }),
2890
+ /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-stat-l", children: row.label }),
2891
+ /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-stat-v ss-w-mon-stat-v--away", children: row.awayValue })
2868
2892
  ] }),
2869
2893
  /* @__PURE__ */ jsxs40("div", { className: "ss-w-mon-bar", children: [
2870
- /* @__PURE__ */ jsx45("b", { className: "ss-w-mon-bar-home", style: { width: `${homePct}%` } }),
2871
- /* @__PURE__ */ jsx45("i", { className: "ss-w-mon-bar-away", style: { width: `${awayPct}%` } })
2894
+ /* @__PURE__ */ jsx46("b", { className: "ss-w-mon-bar-home", style: { width: `${homePct}%` } }),
2895
+ /* @__PURE__ */ jsx46("i", { className: "ss-w-mon-bar-away", style: { width: `${awayPct}%` } })
2872
2896
  ] }),
2873
2897
  row.market && /* @__PURE__ */ jsxs40("div", { className: promoted ? "ss-w-mon-stat-mkt ss-w-mon-mkt" : "ss-w-mon-stat-mkt", children: [
2874
2898
  /* @__PURE__ */ jsxs40("span", { children: [
@@ -2877,8 +2901,8 @@ function MonitorMatchCard({ match, promotedPins, monitor, ui, slip }) {
2877
2901
  row.market.selectionLabel
2878
2902
  ] }),
2879
2903
  /* @__PURE__ */ jsxs40("span", { className: "ss-w-mon-stat-mkt-right", children: [
2880
- row.market.isSuspended ? /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-susp", children: ui.suspendedLabel }) : typeof row.market.price === "number" && /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-price", children: row.market.price.toFixed(2) }),
2881
- /* @__PURE__ */ jsx45(
2904
+ row.market.isSuspended ? /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-susp", children: ui.suspendedLabel }) : typeof row.market.price === "number" && /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-price", children: row.market.price.toFixed(2) }),
2905
+ /* @__PURE__ */ jsx46(
2882
2906
  SlipButton,
2883
2907
  {
2884
2908
  selection,
@@ -2892,28 +2916,28 @@ function MonitorMatchCard({ match, promotedPins, monitor, ui, slip }) {
2892
2916
  ] })
2893
2917
  ] }, row.label);
2894
2918
  }) }),
2895
- match.status === "stale" && /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-asof", children: ui.asOf(formatTime(match.asOfUtc)) }),
2919
+ match.status === "stale" && /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-asof", children: ui.asOf(formatTime(match.asOfUtc)) }),
2896
2920
  match.momentum.length > 0 && /* @__PURE__ */ jsxs40("div", { className: "ss-w-mon-mom", children: [
2897
2921
  /* @__PURE__ */ jsxs40("div", { className: "ss-w-mon-stat-row", children: [
2898
- /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-stat-v ss-w-mon-stat-v--home", children: typeof match.momentumHomePct === "number" ? `${match.momentumHomePct}%` : "" }),
2899
- /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-stat-l", children: ui.momentumLabel }),
2900
- /* @__PURE__ */ jsx45("span", { className: "ss-w-mon-stat-v ss-w-mon-stat-v--away", children: typeof match.momentumHomePct === "number" ? `${100 - match.momentumHomePct}%` : "" })
2922
+ /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-stat-v ss-w-mon-stat-v--home", children: typeof match.momentumHomePct === "number" ? `${match.momentumHomePct}%` : "" }),
2923
+ /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-stat-l", children: ui.momentumLabel }),
2924
+ /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-stat-v ss-w-mon-stat-v--away", children: typeof match.momentumHomePct === "number" ? `${100 - match.momentumHomePct}%` : "" })
2901
2925
  ] }),
2902
- /* @__PURE__ */ jsx45(MomentumWave, { points: match.momentum, clubIsHome: true })
2926
+ /* @__PURE__ */ jsx46(MomentumWave, { points: match.momentum, clubIsHome: true })
2903
2927
  ] }),
2904
- match.mainMarket && match.phase !== "fullTime" && /* @__PURE__ */ jsx45(MarketOddsCardList, { cards: [toMarketOddsVM(match.mainMarket)], ui, slip }),
2905
- match.phase === "fullTime" && /* @__PURE__ */ jsx45("div", { className: "ss-w-mon-grace", children: ui.graceNote })
2928
+ match.mainMarket && match.phase !== "fullTime" && /* @__PURE__ */ jsx46(MarketOddsCardList, { cards: [toMarketOddsVM(match.mainMarket)], ui, slip }),
2929
+ match.phase === "fullTime" && /* @__PURE__ */ jsx46("div", { className: "ss-w-mon-grace", children: ui.graceNote })
2906
2930
  ] });
2907
2931
  }
2908
2932
 
2909
2933
  // src/components/MonitorTabs.tsx
2910
- import { jsx as jsx46, jsxs as jsxs41 } from "react/jsx-runtime";
2934
+ import { jsx as jsx47, jsxs as jsxs41 } from "react/jsx-runtime";
2911
2935
  function ContextLine({ m, monitor, ui }) {
2912
2936
  const kick = m.kickoffUtc ? ui.bettingKickoff(m.kickoffUtc) : void 0;
2913
2937
  return /* @__PURE__ */ jsxs41("div", { className: "ss-w-mk-ctx", children: [
2914
2938
  /* @__PURE__ */ jsxs41("span", { className: "ss-w-mk-ctx-side", children: [
2915
- /* @__PURE__ */ jsx46(Crest2, { kind: "team", url: m.homeCrestUrl ?? void 0, name: m.homeTeamName ?? void 0 }),
2916
- /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-name", children: m.homeTeamName })
2939
+ /* @__PURE__ */ jsx47(Crest2, { kind: "team", url: m.homeCrestUrl ?? void 0, name: m.homeTeamName ?? void 0 }),
2940
+ /* @__PURE__ */ jsx47("span", { className: "ss-w-mon-name", children: m.homeTeamName })
2917
2941
  ] }),
2918
2942
  m.phase === "preMatch" ? kick && /* @__PURE__ */ jsxs41("span", { className: "ss-w-mon-pill", children: [
2919
2943
  kick.dayLabel,
@@ -2925,25 +2949,25 @@ function ContextLine({ m, monitor, ui }) {
2925
2949
  m.awayScore
2926
2950
  ] }),
2927
2951
  /* @__PURE__ */ jsxs41("span", { className: "ss-w-mk-ctx-side", children: [
2928
- /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-name", children: m.awayTeamName }),
2929
- /* @__PURE__ */ jsx46(Crest2, { kind: "team", url: m.awayCrestUrl ?? void 0, name: m.awayTeamName ?? void 0 })
2952
+ /* @__PURE__ */ jsx47("span", { className: "ss-w-mon-name", children: m.awayTeamName }),
2953
+ /* @__PURE__ */ jsx47(Crest2, { kind: "team", url: m.awayCrestUrl ?? void 0, name: m.awayTeamName ?? void 0 })
2930
2954
  ] }),
2931
- m.minuteLabel && /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-min", children: m.minuteLabel }),
2955
+ m.minuteLabel && /* @__PURE__ */ jsx47("span", { className: "ss-w-mon-min", children: m.minuteLabel }),
2932
2956
  /* @__PURE__ */ jsxs41("span", { className: "ss-w-mk-ctx-right", children: [
2933
- m.isSuspended && !m.isSettled && /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-susp", children: ui.suspendedLabel }),
2934
- m.isSettled && /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-pill", children: ui.fullTimeLabel }),
2935
- m.status === "stale" && /* @__PURE__ */ jsx46("span", { className: "ss-w-mon-asof", children: ui.asOf(new Date(m.asOfUtc).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })) }),
2957
+ m.isSuspended && !m.isSettled && /* @__PURE__ */ jsx47("span", { className: "ss-w-mon-susp", children: ui.suspendedLabel }),
2958
+ m.isSettled && /* @__PURE__ */ jsx47("span", { className: "ss-w-mon-pill", children: ui.fullTimeLabel }),
2959
+ m.status === "stale" && /* @__PURE__ */ jsx47("span", { className: "ss-w-mon-asof", children: ui.asOf(new Date(m.asOfUtc).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })) }),
2936
2960
  (() => {
2937
2961
  const pin = monitor.pins.find((p) => p.key === m.key);
2938
- return pin ? /* @__PURE__ */ jsx46(PinToggle, { ui, monitor, pin }) : null;
2962
+ return pin ? /* @__PURE__ */ jsx47(PinToggle, { ui, monitor, pin }) : null;
2939
2963
  })()
2940
2964
  ] })
2941
2965
  ] });
2942
2966
  }
2943
2967
  function MatchesPanel({ monitor, ui, slip }) {
2944
2968
  const matches = (monitor.snapshot?.matches ?? []).filter((m) => monitor.pins.some((p) => p.kind === "match" && p.matchId === m.matchId));
2945
- if (matches.length === 0) return /* @__PURE__ */ jsx46("div", { className: "ss-w-mon-empty", children: ui.emptyMatchesTab });
2946
- return /* @__PURE__ */ jsx46("div", { className: "ss-w-mon-list", children: matches.map((m) => /* @__PURE__ */ jsx46(
2969
+ if (matches.length === 0) return /* @__PURE__ */ jsx47("div", { className: "ss-w-mon-empty", children: ui.emptyMatchesTab });
2970
+ return /* @__PURE__ */ jsx47("div", { className: "ss-w-mon-list", children: matches.map((m) => /* @__PURE__ */ jsx47(
2947
2971
  MonitorMatchCard,
2948
2972
  {
2949
2973
  match: m,
@@ -2967,10 +2991,10 @@ function withSinceViewMovement(vm, prev) {
2967
2991
  }
2968
2992
  function OddsPanel({ monitor, ui, slip }) {
2969
2993
  const markets = (monitor.snapshot?.markets ?? []).filter((m) => monitor.pins.some((p) => p.key === m.key));
2970
- if (markets.length === 0) return /* @__PURE__ */ jsx46("div", { className: "ss-w-mon-empty", children: ui.emptyOddsTab });
2971
- return /* @__PURE__ */ jsx46("div", { className: "ss-w-mon-list", children: markets.map((m) => /* @__PURE__ */ jsxs41("div", { className: "ss-w-mon-oddspin", "data-settled": m.isSettled || void 0, children: [
2972
- /* @__PURE__ */ jsx46(ContextLine, { m, monitor, ui }),
2973
- m.card && /* @__PURE__ */ jsx46(
2994
+ if (markets.length === 0) return /* @__PURE__ */ jsx47("div", { className: "ss-w-mon-empty", children: ui.emptyOddsTab });
2995
+ return /* @__PURE__ */ jsx47("div", { className: "ss-w-mon-list", children: markets.map((m) => /* @__PURE__ */ jsxs41("div", { className: "ss-w-mon-oddspin", "data-settled": m.isSettled || void 0, children: [
2996
+ /* @__PURE__ */ jsx47(ContextLine, { m, monitor, ui }),
2997
+ m.card && /* @__PURE__ */ jsx47(
2974
2998
  MarketOddsCardList,
2975
2999
  {
2976
3000
  cards: [withSinceViewMovement(toMarketOddsVM(m.card), monitor.lastViewedPrices[m.key])],
@@ -2979,16 +3003,16 @@ function OddsPanel({ monitor, ui, slip }) {
2979
3003
  inSlipIds: monitor.inSlip
2980
3004
  }
2981
3005
  ),
2982
- m.history && /* @__PURE__ */ jsx46(OddsMovementCardList, { cards: [toOddsMovementVM(m.history)], ui }),
2983
- !m.card && !m.history && /* @__PURE__ */ jsx46("div", { className: "ss-w-mon-empty-card", children: ui.oddsUnavailable })
3006
+ m.history && /* @__PURE__ */ jsx47(OddsMovementCardList, { cards: [toOddsMovementVM(m.history)], ui }),
3007
+ !m.card && !m.history && /* @__PURE__ */ jsx47("div", { className: "ss-w-mon-empty-card", children: ui.oddsUnavailable })
2984
3008
  ] }, m.key)) });
2985
3009
  }
2986
3010
 
2987
3011
  // src/components/ChatPanel.tsx
2988
- import { jsx as jsx47, jsxs as jsxs42 } from "react/jsx-runtime";
3012
+ import { jsx as jsx48, jsxs as jsxs42 } from "react/jsx-runtime";
2989
3013
  var FULLSCREEN_QUERY = "(max-width: 639px)";
2990
3014
  function useIsModal() {
2991
- const [modal, setModal] = useState15(false);
3015
+ const [modal, setModal] = useState16(false);
2992
3016
  useEffect8(() => {
2993
3017
  if (typeof window === "undefined" || typeof window.matchMedia !== "function") return;
2994
3018
  const mql = window.matchMedia(FULLSCREEN_QUERY);
@@ -3017,8 +3041,8 @@ function ChatPanel({ controller, ui, slip, onDashboardTap, monitor }) {
3017
3041
  if (monitor && monitor.activeTab !== "chat" && state.isStreaming) monitor.markChatActivity();
3018
3042
  }, [monitor, state.isStreaming, state.messages.length]);
3019
3043
  return /* @__PURE__ */ jsxs42("div", { className: "ss-w-panel", role: "dialog", "aria-modal": isModal, "aria-label": ui.chatDialogLabel, children: [
3020
- /* @__PURE__ */ jsx47(ChatHeader, { onClose: close, closeLabel: ui.closeChat }),
3021
- monitor && /* @__PURE__ */ jsx47(
3044
+ /* @__PURE__ */ jsx48(ChatHeader, { onClose: close, closeLabel: ui.closeChat, logoUrl: ui.logoUrl, headerTitle: ui.headerTitle }),
3045
+ monitor && /* @__PURE__ */ jsx48(
3022
3046
  TabBar,
3023
3047
  {
3024
3048
  monitor,
@@ -3027,16 +3051,16 @@ function ChatPanel({ controller, ui, slip, onDashboardTap, monitor }) {
3027
3051
  oddsCount: monitor.pins.filter((p) => p.kind !== "match").length
3028
3052
  }
3029
3053
  ),
3030
- /* @__PURE__ */ jsx47(
3054
+ /* @__PURE__ */ jsx48(
3031
3055
  "div",
3032
3056
  {
3033
3057
  style: !monitor || monitor.activeTab === "chat" ? { display: "contents" } : { position: "absolute", inset: 0, visibility: "hidden", display: "flex", flexDirection: "column" },
3034
- children: /* @__PURE__ */ jsx47(MessageList, { controller, ui, slip, onDashboardTap, monitor })
3058
+ children: /* @__PURE__ */ jsx48(MessageList, { controller, ui, slip, onDashboardTap, monitor })
3035
3059
  }
3036
3060
  ),
3037
- monitor && monitor.activeTab === "matches" && /* @__PURE__ */ jsx47(MatchesPanel, { monitor, ui, slip }),
3038
- monitor && monitor.activeTab === "odds" && /* @__PURE__ */ jsx47(OddsPanel, { monitor, ui, slip }),
3039
- /* @__PURE__ */ jsx47(ChatInput, { placeholder: ui.placeholder, streaming: state.isStreaming, onSend: handleSend, onStop: stop, stopLabel: ui.stopResponse, sendLabel: ui.sendMessage })
3061
+ monitor && monitor.activeTab === "matches" && /* @__PURE__ */ jsx48(MatchesPanel, { monitor, ui, slip }),
3062
+ monitor && monitor.activeTab === "odds" && /* @__PURE__ */ jsx48(OddsPanel, { monitor, ui, slip }),
3063
+ /* @__PURE__ */ jsx48(ChatInput, { placeholder: ui.placeholder, streaming: state.isStreaming, onSend: handleSend, onStop: stop, stopLabel: ui.stopResponse, sendLabel: ui.sendMessage })
3040
3064
  ] });
3041
3065
  }
3042
3066
 
@@ -3082,7 +3106,7 @@ var WIDGET_CSS = `.ss-w-root { all: revert; }
3082
3106
  .ss-w-root[data-ss-w-pos="right"] .ss-w-fab-wrap { right: var(--ss-w-offset-x); }
3083
3107
  .ss-w-root[data-ss-w-pos="left"] .ss-w-fab-wrap { left: var(--ss-w-offset-x); align-items: flex-start; }
3084
3108
  .ss-w-fab { width: 56px; height: 56px; border: none; border-radius: 50%; background: var(--ss-w-nav); color: #fff; cursor: pointer; display: grid; place-items: center; box-shadow: 0 6px 20px rgba(0,0,0,.28); }
3085
- .ss-w-fab-mark { width: 30px; height: 30px; display: block; }
3109
+ .ss-w-fab-mark { width: 30px; height: 30px; display: block; object-fit: contain; }
3086
3110
  .ss-w-greeting { max-width: 240px; display: flex; align-items: flex-start; background: var(--ss-w-panel); color: var(--ss-w-ink); border: 1px solid var(--ss-w-line); border-radius: 12px; box-shadow: 0 4px 14px rgba(0,0,0,.14); }
3087
3111
  .ss-w-greeting-body { flex: 1; min-width: 0; text-align: left; background: none; border: none; color: inherit; font: inherit; cursor: pointer; padding: 9px 4px 9px 12px; }
3088
3112
  .ss-w-greeting-x { flex: none; background: none; border: none; color: var(--ss-w-faint); cursor: pointer; font-size: 17px; line-height: 1; padding: 7px 9px 0 2px; }
@@ -3099,7 +3123,7 @@ var WIDGET_CSS = `.ss-w-root { all: revert; }
3099
3123
  .ss-w-root[data-ss-w-pos="left"] .ss-w-panel { inset: 0; width: auto; height: auto; border: none; border-radius: 0; }
3100
3124
  }
3101
3125
  .ss-w-header { display: flex; align-items: center; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--ss-w-line); }
3102
- .ss-w-header-mark { width: 18px; height: 18px; display: block; }
3126
+ .ss-w-header-mark { width: 18px; height: 18px; display: block; object-fit: contain; }
3103
3127
  .ss-w-header-title { font-weight: 660; }
3104
3128
  .ss-w-close { margin-left: auto; background: none; border: none; color: var(--ss-w-faint); cursor: pointer; font-size: 16px; display: grid; place-items: center; }
3105
3129
 
@@ -3792,7 +3816,7 @@ var WIDGET_CSS = `.ss-w-root { all: revert; }
3792
3816
  `;
3793
3817
 
3794
3818
  // src/StatsWidget.tsx
3795
- import { jsx as jsx48 } from "react/jsx-runtime";
3819
+ import { jsx as jsx49 } from "react/jsx-runtime";
3796
3820
  function buildClient(props) {
3797
3821
  try {
3798
3822
  if ("client" in props && props.client) {
@@ -3860,12 +3884,13 @@ function StatsWidget(props) {
3860
3884
  }, [built, ui.injectStyles]);
3861
3885
  if (!built) return null;
3862
3886
  const attrs = themeAttrs(ui);
3863
- return /* @__PURE__ */ jsx48("div", { ref: rootRef, className: "ss-w-root", "data-ss-w-theme": attrs["data-ss-w-theme"], "data-ss-w-pos": attrs["data-ss-w-pos"], style: attrs.style, children: controller.state.isOpen ? /* @__PURE__ */ jsx48(ChatPanel, { controller, ui, slip, onDashboardTap, monitor: monitor.enabled ? monitor : void 0 }) : /* @__PURE__ */ jsx48(
3887
+ return /* @__PURE__ */ jsx49("div", { ref: rootRef, className: "ss-w-root", "data-ss-w-theme": attrs["data-ss-w-theme"], "data-ss-w-pos": attrs["data-ss-w-pos"], style: attrs.style, children: controller.state.isOpen ? /* @__PURE__ */ jsx49(ChatPanel, { controller, ui, slip, onDashboardTap, monitor: monitor.enabled ? monitor : void 0 }) : /* @__PURE__ */ jsx49(
3864
3888
  ChatFab,
3865
3889
  {
3866
3890
  label: ui.launcherLabel,
3867
3891
  greeting: ui.greeting,
3868
3892
  popupText: controller.state.popupText,
3893
+ logoUrl: ui.logoUrl,
3869
3894
  onOpen: controller.open,
3870
3895
  onDismissPopup: controller.dismissPopup,
3871
3896
  dismissLabel: ui.dismissGreeting