@sensiblestats/widget-react 0.94.0 → 0.95.1
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/CHANGELOG.md +18 -0
- package/dist/index.cjs +236 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +236 -9
- package/dist/index.js.map +1 -1
- package/dist/styles.css +22 -0
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -19,6 +19,8 @@ var NBA_STAT_EN = { points: "Points", rebounds: "Rebounds", assists: "Assists",
|
|
|
19
19
|
var NBA_STAT_TR = { points: "Say\u0131", rebounds: "Ribaund", assists: "Asist", threes: "\xDC\xE7l\xFCk", steals: "Top \xE7alma", blocks: "Blok" };
|
|
20
20
|
var NBA_STAT_SHORT_EN = { points: "PTS", rebounds: "REB", assists: "AST", threes: "3PM" };
|
|
21
21
|
var NBA_STAT_SHORT_TR = { points: "SAY", rebounds: "RIB", assists: "AST", threes: "3SY" };
|
|
22
|
+
var NBA_POSITION_EN = { G: "guards", F: "forwards", C: "centers" };
|
|
23
|
+
var NBA_POSITION_TR = { G: "guard", F: "forvet", C: "pivot" };
|
|
22
24
|
var NBA_STATUS_TR = { Out: "Oynamayacak", Doubtful: "\u015E\xFCpheli", Questionable: "Belirsiz", Probable: "Muhtemel" };
|
|
23
25
|
var signed = (line) => line.replace(/^-/, "\u2212");
|
|
24
26
|
var GROUP_NOUN_EN = { G: "goalkeepers", D: "defenders", M: "midfielders", F: "forwards" };
|
|
@@ -334,7 +336,26 @@ var STRINGS = {
|
|
|
334
336
|
propsLast5: "Last 5 games",
|
|
335
337
|
propsLadderOnly: "Ladder only",
|
|
336
338
|
propsMarkets: (n) => `${n} markets`,
|
|
337
|
-
propsStatShort: (stat) => NBA_STAT_SHORT_EN[stat] ?? stat
|
|
339
|
+
propsStatShort: (stat) => NBA_STAT_SHORT_EN[stat] ?? stat,
|
|
340
|
+
matchupPace: "Pace",
|
|
341
|
+
matchupOffRating: "Offensive rating",
|
|
342
|
+
matchupDefRating: "Defensive rating",
|
|
343
|
+
rankOf: (r, n) => `rank ${r} of ${n}`,
|
|
344
|
+
daysRest: (d) => `${d} ${d === 1 ? "day" : "days"} rest`,
|
|
345
|
+
backToBack: "Back-to-back",
|
|
346
|
+
allowsToPosition: (team, v, stat, pos, avg) => `${team} allows ${v} ${(NBA_STAT_EN[stat] ?? stat).toLowerCase()} per game to ${NBA_POSITION_EN[pos] ?? pos} (league average ${avg})`,
|
|
347
|
+
quarterWindow1q: "First quarter",
|
|
348
|
+
quarterWindowFirst3: "First 3 min",
|
|
349
|
+
hitsOf: (h, n) => `${h} of ${n}`,
|
|
350
|
+
settled: "Settled",
|
|
351
|
+
actual: "Actual",
|
|
352
|
+
resultOver: "Over",
|
|
353
|
+
resultUnder: "Under",
|
|
354
|
+
resultPush: "Push",
|
|
355
|
+
resultVoid: "Void",
|
|
356
|
+
lastLineBeforeTip: "Last line before tip",
|
|
357
|
+
morePlayers: (n) => `+${n} more players`,
|
|
358
|
+
smallSample: "Small sample"
|
|
338
359
|
},
|
|
339
360
|
games: {
|
|
340
361
|
lang: "en",
|
|
@@ -844,7 +865,26 @@ var STRINGS = {
|
|
|
844
865
|
propsLast5: "Son 5 ma\xE7",
|
|
845
866
|
propsLadderOnly: "Sadece alternatif",
|
|
846
867
|
propsMarkets: (n) => `${n} market`,
|
|
847
|
-
propsStatShort: (stat) => NBA_STAT_SHORT_TR[stat] ?? stat
|
|
868
|
+
propsStatShort: (stat) => NBA_STAT_SHORT_TR[stat] ?? stat,
|
|
869
|
+
matchupPace: "Tempo",
|
|
870
|
+
matchupOffRating: "H\xFCcum reytingi",
|
|
871
|
+
matchupDefRating: "Savunma reytingi",
|
|
872
|
+
rankOf: (r, n) => `${n} tak\u0131mda ${r}. s\u0131ra`,
|
|
873
|
+
daysRest: (d) => `${d} g\xFCn dinlenme`,
|
|
874
|
+
backToBack: "Arka arkaya ma\xE7",
|
|
875
|
+
allowsToPosition: (team, v, stat, pos, avg) => `${team}, ${NBA_POSITION_TR[pos] ?? pos} oyunculara ma\xE7 ba\u015F\u0131na ${v} ${(NBA_STAT_TR[stat] ?? stat).toLocaleLowerCase("tr-TR")} veriyor (lig ortalamas\u0131 ${avg})`,
|
|
876
|
+
quarterWindow1q: "\u0130lk \xE7eyrek",
|
|
877
|
+
quarterWindowFirst3: "\u0130lk 3 dakika",
|
|
878
|
+
hitsOf: (h, n) => `${n} ma\xE7ta ${h}`,
|
|
879
|
+
settled: "Sonu\xE7land\u0131",
|
|
880
|
+
actual: "Ger\xE7ek",
|
|
881
|
+
resultOver: "\xDCst",
|
|
882
|
+
resultUnder: "Alt",
|
|
883
|
+
resultPush: "\u0130ade",
|
|
884
|
+
resultVoid: "\u0130ptal",
|
|
885
|
+
lastLineBeforeTip: "Ma\xE7 \xF6ncesi son baraj",
|
|
886
|
+
morePlayers: (n) => `+${n} oyuncu daha`,
|
|
887
|
+
smallSample: "Az ma\xE7"
|
|
848
888
|
},
|
|
849
889
|
games: {
|
|
850
890
|
lang: "tr",
|
|
@@ -1059,7 +1099,7 @@ function isEnglishLocale(locale) {
|
|
|
1059
1099
|
}
|
|
1060
1100
|
|
|
1061
1101
|
// src/version.generated.ts
|
|
1062
|
-
var WIDGET_REACT_VERSION = "0.
|
|
1102
|
+
var WIDGET_REACT_VERSION = "0.95.1";
|
|
1063
1103
|
|
|
1064
1104
|
// src/config.ts
|
|
1065
1105
|
function normalizeUi(cfg) {
|
|
@@ -1654,6 +1694,27 @@ function comboLegToSlipSelection(leg, conversationId) {
|
|
|
1654
1694
|
if (conversationId !== void 0) selection.conversationId = conversationId;
|
|
1655
1695
|
return selection;
|
|
1656
1696
|
}
|
|
1697
|
+
var isNum = (v) => typeof v === "number" && Number.isFinite(v);
|
|
1698
|
+
var isObj = (v) => typeof v === "object" && v !== null;
|
|
1699
|
+
var numOrNull = (v) => v === null || v === void 0 || isNum(v);
|
|
1700
|
+
function validMatchupTeam(t) {
|
|
1701
|
+
return isObj(t) && typeof t.name === "string" && typeof t.abbr === "string" && isNum(t.pace) && isNum(t.offRating) && isNum(t.defRating) && isNum(t.n) && isNum(t.teamsRanked) && numOrNull(t.daysRest) && numOrNull(t.paceRank) && numOrNull(t.offRatingRank) && numOrNull(t.defRatingRank);
|
|
1702
|
+
}
|
|
1703
|
+
function validMatchupPosition(p) {
|
|
1704
|
+
return isObj(p) && typeof p.defendingTeamAbbr === "string" && typeof p.position === "string" && typeof p.stat === "string" && isNum(p.allowedPerGame) && isNum(p.leagueAvg) && isNum(p.rank) && isNum(p.teamsRanked) && isNum(p.n);
|
|
1705
|
+
}
|
|
1706
|
+
function sanitizeMatchup(m) {
|
|
1707
|
+
if (!m || !Array.isArray(m.teams) || m.teams.length !== 2 || !m.teams.every(validMatchupTeam)) return null;
|
|
1708
|
+
const teams = m.teams.map((t) => ({ ...t, daysRest: t.daysRest ?? null, paceRank: t.paceRank ?? null, offRatingRank: t.offRatingRank ?? null, defRatingRank: t.defRatingRank ?? null }));
|
|
1709
|
+
return { teams, position: validMatchupPosition(m.position) ? m.position : null };
|
|
1710
|
+
}
|
|
1711
|
+
function validQuarterLadder(q) {
|
|
1712
|
+
return !!q && (q.window === "1q" || q.window === "first3min") && Array.isArray(q.stats) && q.stats.every((st) => isObj(st) && Array.isArray(st.rungs) && st.rungs.every((r) => isObj(r) && typeof r.at === "string" && isNum(r.hits) && isNum(r.n)));
|
|
1713
|
+
}
|
|
1714
|
+
var SETTLE_RESULTS = ["over", "under", "push", "void"];
|
|
1715
|
+
function validSettleRecap(sr) {
|
|
1716
|
+
return !!sr && isObj(sr.summary) && isNum(sr.summary.over) && isNum(sr.summary.under) && isNum(sr.summary.pushes) && isNum(sr.summary.voids) && Array.isArray(sr.players) && sr.players.every((p) => isObj(p) && Array.isArray(p.lines) && p.lines.every((l) => isObj(l) && typeof l.line === "string" && (l.actual === null || typeof l.actual === "string") && SETTLE_RESULTS.includes(l.result)));
|
|
1717
|
+
}
|
|
1657
1718
|
function nbaEvidence(insight) {
|
|
1658
1719
|
switch (insight.kind) {
|
|
1659
1720
|
case "prop_reason":
|
|
@@ -1666,6 +1727,14 @@ function nbaEvidence(insight) {
|
|
|
1666
1727
|
return insight.coHit && insight.coHit.legs.length === 2 ? { kind: "co_hit", coHit: insight.coHit } : null;
|
|
1667
1728
|
case "ladder":
|
|
1668
1729
|
return insight.ladder ? { kind: "ladder", ladder: insight.ladder } : null;
|
|
1730
|
+
case "matchup": {
|
|
1731
|
+
const matchup = sanitizeMatchup(insight.matchup);
|
|
1732
|
+
return matchup ? { kind: "matchup", matchup } : null;
|
|
1733
|
+
}
|
|
1734
|
+
case "quarter_ladder":
|
|
1735
|
+
return validQuarterLadder(insight.quarterLadder) ? { kind: "quarter_ladder", quarterLadder: insight.quarterLadder } : null;
|
|
1736
|
+
case "settle_recap":
|
|
1737
|
+
return validSettleRecap(insight.settleRecap) ? { kind: "settle_recap", settleRecap: insight.settleRecap } : null;
|
|
1669
1738
|
default:
|
|
1670
1739
|
return null;
|
|
1671
1740
|
}
|
|
@@ -2612,7 +2681,7 @@ function clearConversation(storageKey) {
|
|
|
2612
2681
|
}
|
|
2613
2682
|
|
|
2614
2683
|
// src/presets.ts
|
|
2615
|
-
var CLIENT_CAPABILITIES = ["price_presets", "price_presets_open", "limit_notice", "nba_insight"];
|
|
2684
|
+
var CLIENT_CAPABILITIES = ["price_presets", "price_presets_open", "limit_notice", "nba_insight", "nba_insight_v2"];
|
|
2616
2685
|
var PRICE_TILE_PREFIX = "goal-preset-";
|
|
2617
2686
|
function isPriceTile(tile) {
|
|
2618
2687
|
const id = tile.signal?.entityId;
|
|
@@ -5053,19 +5122,23 @@ function NbaPrice({ vm, selectionKey, label, ui, slip }) {
|
|
|
5053
5122
|
function Head({ vm, chip, ui, monitor }) {
|
|
5054
5123
|
const fixture = vm.homeTeamName && vm.awayTeamName ? `${vm.homeTeamName} vs ${vm.awayTeamName}` : vm.competition;
|
|
5055
5124
|
const meta = [fixture, vm.kickoffLabel].filter(Boolean).join(" \xB7 ");
|
|
5125
|
+
const pinnable = monitor?.enabled === true && vm.evidence.kind !== "settle_recap";
|
|
5056
5126
|
return /* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-head", children: [
|
|
5057
5127
|
/* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-head-l", children: [
|
|
5058
5128
|
meta ? /* @__PURE__ */ jsx17("p", { className: "ss-w-nba-meta", children: meta }) : null,
|
|
5059
5129
|
/* @__PURE__ */ jsx17("p", { className: "ss-w-nba-title", children: vm.title })
|
|
5060
5130
|
] }),
|
|
5061
|
-
chip ||
|
|
5131
|
+
chip || pinnable ? /* @__PURE__ */ jsxs13("span", { className: "ss-w-bi-meta-right", children: [
|
|
5062
5132
|
chip ? /* @__PURE__ */ jsx17("span", { className: "ss-w-nba-chip", children: chip }) : null,
|
|
5063
|
-
monitor
|
|
5133
|
+
pinnable && monitor ? /* @__PURE__ */ jsx17(PinToggle, { ui, monitor, pin: { kind: "match", matchId: vm.matchId, sport: "basketball" } }) : null
|
|
5064
5134
|
] }) : null
|
|
5065
5135
|
] });
|
|
5066
5136
|
}
|
|
5067
5137
|
function Foot({ vm, ui, lines }) {
|
|
5068
|
-
|
|
5138
|
+
const quoted = Object.keys(vm.selections).length > 0 ? [ui.nba.quoted(clock(vm.quotedAtUtc))] : [];
|
|
5139
|
+
const parts = [...lines, ...quoted, ...vm.disclaimer ? [vm.disclaimer] : []];
|
|
5140
|
+
if (parts.length === 0) return null;
|
|
5141
|
+
return /* @__PURE__ */ jsx17("div", { className: "ss-w-nba-foot", children: parts.join(" ") });
|
|
5069
5142
|
}
|
|
5070
5143
|
function PropReason({ vm, pr, ui, slip }) {
|
|
5071
5144
|
const nba = ui.nba;
|
|
@@ -5134,6 +5207,117 @@ function Ladder({ vm, ld, ui, slip }) {
|
|
|
5134
5207
|
] })
|
|
5135
5208
|
] }, `${st.stat}:${si}`)) });
|
|
5136
5209
|
}
|
|
5210
|
+
function SmallSample({ ui }) {
|
|
5211
|
+
return /* @__PURE__ */ jsx17("span", { className: "ss-w-nba-small", children: ui.nba.smallSample });
|
|
5212
|
+
}
|
|
5213
|
+
function NbaMatchupBody({ mu, ui }) {
|
|
5214
|
+
const nba = ui.nba;
|
|
5215
|
+
const metrics = [
|
|
5216
|
+
{ label: nba.matchupPace, value: (t) => t.pace, rank: (t) => t.paceRank },
|
|
5217
|
+
{ label: nba.matchupOffRating, value: (t) => t.offRating, rank: (t) => t.offRatingRank },
|
|
5218
|
+
{ label: nba.matchupDefRating, value: (t) => t.defRating, rank: (t) => t.defRatingRank }
|
|
5219
|
+
];
|
|
5220
|
+
const pos = mu.position;
|
|
5221
|
+
return /* @__PURE__ */ jsxs13(Fragment2, { children: [
|
|
5222
|
+
/* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-mu", children: [
|
|
5223
|
+
/* @__PURE__ */ jsx17("span", {}),
|
|
5224
|
+
mu.teams.map((t) => /* @__PURE__ */ jsxs13("span", { className: "ss-w-nba-mu-team", title: t.name, children: [
|
|
5225
|
+
/* @__PURE__ */ jsx17("b", { children: t.abbr }),
|
|
5226
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-hd", children: nba.lastN(t.n) }),
|
|
5227
|
+
t.smallSample ? /* @__PURE__ */ jsx17(SmallSample, { ui }) : null
|
|
5228
|
+
] }, `h:${t.teamId}`)),
|
|
5229
|
+
metrics.map((m) => /* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-row", children: [
|
|
5230
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-hd", children: m.label }),
|
|
5231
|
+
mu.teams.map((t) => {
|
|
5232
|
+
const r = m.rank(t);
|
|
5233
|
+
return /* @__PURE__ */ jsxs13("span", { className: "ss-w-nba-mu-v", children: [
|
|
5234
|
+
/* @__PURE__ */ jsx17("b", { children: oneDecimal(m.value(t), ui) }),
|
|
5235
|
+
r !== null ? /* @__PURE__ */ jsx17("span", { children: nba.rankOf(r, t.teamsRanked) }) : null
|
|
5236
|
+
] }, `${m.label}:${t.teamId}`);
|
|
5237
|
+
})
|
|
5238
|
+
] }, m.label)),
|
|
5239
|
+
mu.teams.some((t) => t.daysRest !== null || t.backToBack) ? /* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-row", children: [
|
|
5240
|
+
/* @__PURE__ */ jsx17("span", {}),
|
|
5241
|
+
mu.teams.map((t) => /* @__PURE__ */ jsxs13("span", { className: "ss-w-nba-mu-rest", children: [
|
|
5242
|
+
t.daysRest !== null ? nba.daysRest(t.daysRest) : "",
|
|
5243
|
+
t.daysRest !== null && t.backToBack ? " \xB7 " : "",
|
|
5244
|
+
t.backToBack ? /* @__PURE__ */ jsx17("span", { className: "ss-w-nba-b2b", children: nba.backToBack }) : null
|
|
5245
|
+
] }, `rest:${t.teamId}`))
|
|
5246
|
+
] }) : null
|
|
5247
|
+
] }),
|
|
5248
|
+
pos ? /* @__PURE__ */ jsxs13("p", { className: "ss-w-nba-mu-pos", children: [
|
|
5249
|
+
nba.allowsToPosition(pos.defendingTeamAbbr, oneDecimal(pos.allowedPerGame, ui), pos.stat, pos.position, oneDecimal(pos.leagueAvg, ui)),
|
|
5250
|
+
" ",
|
|
5251
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-note", children: nba.rankOf(pos.rank, pos.teamsRanked) }),
|
|
5252
|
+
pos.smallSample ? /* @__PURE__ */ jsx17(SmallSample, { ui }) : null
|
|
5253
|
+
] }) : null
|
|
5254
|
+
] });
|
|
5255
|
+
}
|
|
5256
|
+
function NbaQuarterLadderBody({ vm, ql, ui, slip }) {
|
|
5257
|
+
const nba = ui.nba;
|
|
5258
|
+
const windowLabel = ql.window === "1q" ? nba.quarterWindow1q : ql.window === "first3min" ? nba.quarterWindowFirst3 : "";
|
|
5259
|
+
return /* @__PURE__ */ jsx17(Fragment2, { children: ql.stats.map((st, si) => /* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-stat", children: [
|
|
5260
|
+
/* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-stathd", children: [
|
|
5261
|
+
/* @__PURE__ */ jsx17("b", { children: nba.stat(st.stat) }),
|
|
5262
|
+
/* @__PURE__ */ jsx17("span", { children: windowLabel }),
|
|
5263
|
+
st.rungs.some((r) => r.n < 5) ? /* @__PURE__ */ jsx17(SmallSample, { ui }) : null
|
|
5264
|
+
] }),
|
|
5265
|
+
/* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-ladder ss-w-nba-ladder--q", children: [
|
|
5266
|
+
/* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-row", children: [
|
|
5267
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-hd", children: nba.line }),
|
|
5268
|
+
/* @__PURE__ */ jsx17("span", {}),
|
|
5269
|
+
/* @__PURE__ */ jsx17("span", {}),
|
|
5270
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-hd ss-w-nba-n", children: nba.price })
|
|
5271
|
+
] }),
|
|
5272
|
+
st.rungs.map((r, ri) => /* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-row", children: [
|
|
5273
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-at", children: nba.over(nba.lineText(r.at)) }),
|
|
5274
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-meter", children: /* @__PURE__ */ jsx17("span", { style: { width: r.n > 0 ? `${r.hits / r.n * 100}%` : "0%" } }) }),
|
|
5275
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-n", children: nba.hitsOf(r.hits, r.n) }),
|
|
5276
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-pcell", children: /* @__PURE__ */ jsx17(NbaPrice, { vm, selectionKey: r.selectionKey, ui, slip }) })
|
|
5277
|
+
] }, `${r.selectionKey}:${ri}`))
|
|
5278
|
+
] })
|
|
5279
|
+
] }, `${st.stat}:${si}`)) });
|
|
5280
|
+
}
|
|
5281
|
+
function NbaSettleRecapBody({ sr, ui }) {
|
|
5282
|
+
const nba = ui.nba;
|
|
5283
|
+
const result = { over: nba.resultOver, under: nba.resultUnder, push: nba.resultPush, void: nba.resultVoid };
|
|
5284
|
+
const { over, under, pushes, voids } = sr.summary;
|
|
5285
|
+
const summary = [
|
|
5286
|
+
`${nba.resultOver} ${over}`,
|
|
5287
|
+
`${nba.resultUnder} ${under}`,
|
|
5288
|
+
...pushes > 0 ? [`${nba.resultPush} ${pushes}`] : [],
|
|
5289
|
+
...voids > 0 ? [`${nba.resultVoid} ${voids}`] : []
|
|
5290
|
+
].join(" \xB7 ");
|
|
5291
|
+
return /* @__PURE__ */ jsxs13(Fragment2, { children: [
|
|
5292
|
+
/* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-stathd", children: [
|
|
5293
|
+
/* @__PURE__ */ jsxs13("b", { children: [
|
|
5294
|
+
nba.settled,
|
|
5295
|
+
" ",
|
|
5296
|
+
sr.finalScore
|
|
5297
|
+
] }),
|
|
5298
|
+
sr.lineBasis === "last_before_tip" ? /* @__PURE__ */ jsx17("span", { children: nba.lastLineBeforeTip }) : null
|
|
5299
|
+
] }),
|
|
5300
|
+
sr.players.map((p) => /* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-sr-player", children: [
|
|
5301
|
+
/* @__PURE__ */ jsx17("p", { className: "ss-w-nba-who", children: p.playerName }),
|
|
5302
|
+
/* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-sr", children: [
|
|
5303
|
+
/* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-row", children: [
|
|
5304
|
+
/* @__PURE__ */ jsx17("span", {}),
|
|
5305
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-hd ss-w-nba-n", children: nba.line }),
|
|
5306
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-hd ss-w-nba-n", children: nba.actual }),
|
|
5307
|
+
/* @__PURE__ */ jsx17("span", {})
|
|
5308
|
+
] }),
|
|
5309
|
+
p.lines.map((l, i) => /* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-sr-line", children: [
|
|
5310
|
+
/* @__PURE__ */ jsx17("span", { children: nba.stat(l.stat) }),
|
|
5311
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-n", children: nba.lineText(l.line) }),
|
|
5312
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-n", children: l.actual === null ? "\u2014" : nba.lineText(l.actual) }),
|
|
5313
|
+
/* @__PURE__ */ jsx17("span", { className: "ss-w-nba-res", "data-result": l.result, children: result[l.result] })
|
|
5314
|
+
] }, `${l.stat}:${i}`))
|
|
5315
|
+
] })
|
|
5316
|
+
] }, p.playerId)),
|
|
5317
|
+
sr.morePlayers > 0 ? /* @__PURE__ */ jsx17("p", { className: "ss-w-nba-more", children: nba.morePlayers(sr.morePlayers) }) : null,
|
|
5318
|
+
/* @__PURE__ */ jsx17("p", { className: "ss-w-nba-sr-sum", children: summary })
|
|
5319
|
+
] });
|
|
5320
|
+
}
|
|
5137
5321
|
function TeammateOut({ vm, to, ui, slip }) {
|
|
5138
5322
|
const nba = ui.nba;
|
|
5139
5323
|
const first = to.rows[0];
|
|
@@ -5320,6 +5504,20 @@ function NbaCard({ vm, ui, slip, monitor }) {
|
|
|
5320
5504
|
body = /* @__PURE__ */ jsx17(LineMove, { vm, lm: ev.lineMove, ui, slip });
|
|
5321
5505
|
foot = [nba.lineMoveKey];
|
|
5322
5506
|
break;
|
|
5507
|
+
case "matchup":
|
|
5508
|
+
body = /* @__PURE__ */ jsx17(NbaMatchupBody, { mu: ev.matchup, ui });
|
|
5509
|
+
foot = [];
|
|
5510
|
+
break;
|
|
5511
|
+
case "quarter_ladder":
|
|
5512
|
+
body = /* @__PURE__ */ jsx17(NbaQuarterLadderBody, { vm, ql: ev.quarterLadder, ui, slip });
|
|
5513
|
+
foot = [];
|
|
5514
|
+
break;
|
|
5515
|
+
case "settle_recap":
|
|
5516
|
+
body = /* @__PURE__ */ jsx17(NbaSettleRecapBody, { sr: ev.settleRecap, ui });
|
|
5517
|
+
foot = [];
|
|
5518
|
+
break;
|
|
5519
|
+
default:
|
|
5520
|
+
return null;
|
|
5323
5521
|
}
|
|
5324
5522
|
return /* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-card", "data-kind": ev.kind, children: [
|
|
5325
5523
|
/* @__PURE__ */ jsx17(Head, { vm, chip, ui, monitor }),
|
|
@@ -7398,6 +7596,12 @@ function Side({ abbreviation, nickname, teamName, away }) {
|
|
|
7398
7596
|
] })
|
|
7399
7597
|
] });
|
|
7400
7598
|
}
|
|
7599
|
+
function lastScored(scores) {
|
|
7600
|
+
for (let i = scores.length - 1; i >= 0; i--) {
|
|
7601
|
+
if (typeof scores[i] === "number") return i + 1;
|
|
7602
|
+
}
|
|
7603
|
+
return 0;
|
|
7604
|
+
}
|
|
7401
7605
|
function cell(value) {
|
|
7402
7606
|
return typeof value === "number" ? String(value) : /* @__PURE__ */ jsx57("span", { className: "ss-w-nbamon-dash", children: "\u2013" });
|
|
7403
7607
|
}
|
|
@@ -7426,8 +7630,9 @@ function NbaMonitorCard({ match, monitor, ui, slip }) {
|
|
|
7426
7630
|
const inPlay = live && !atBreak(match);
|
|
7427
7631
|
const scored = live || match.phase === "fullTime";
|
|
7428
7632
|
const kickoff = match.phase === "preMatch" && match.kickoffUtc ? ui.bettingKickoff(match.kickoffUtc) : void 0;
|
|
7429
|
-
const periods = Math.max(REGULATION_PERIODS, b.homePeriods
|
|
7633
|
+
const periods = Math.max(REGULATION_PERIODS, b.period, lastScored(b.homePeriods), lastScored(b.awayPeriods));
|
|
7430
7634
|
const columns = Array.from({ length: periods }, (_, i) => i);
|
|
7635
|
+
const played = (i) => !live || i < b.period;
|
|
7431
7636
|
const timeouts = [
|
|
7432
7637
|
{ key: "away", value: b.awayTimeoutsLeft },
|
|
7433
7638
|
{ key: "home", value: b.homeTimeoutsLeft }
|
|
@@ -7474,7 +7679,7 @@ function NbaMonitorCard({ match, monitor, ui, slip }) {
|
|
|
7474
7679
|
{ abbreviation: b.homeAbbreviation, scores: b.homePeriods, total: match.homeScore }
|
|
7475
7680
|
].map((row) => /* @__PURE__ */ jsxs52("tr", { children: [
|
|
7476
7681
|
/* @__PURE__ */ jsx57("th", { scope: "row", children: row.abbreviation }),
|
|
7477
|
-
columns.map((i) => /* @__PURE__ */ jsx57("td", { className: inPlay && i === b.period - 1 ? "ss-w-nbamon-cur" : void 0, children: cell(row.scores[i]) }, i)),
|
|
7682
|
+
columns.map((i) => /* @__PURE__ */ jsx57("td", { className: inPlay && i === b.period - 1 ? "ss-w-nbamon-cur" : void 0, children: cell(played(i) ? row.scores[i] : null) }, i)),
|
|
7478
7683
|
/* @__PURE__ */ jsx57("td", { className: "ss-w-nbamon-total", children: row.total ?? 0 })
|
|
7479
7684
|
] }, row.abbreviation)) })
|
|
7480
7685
|
] }),
|
|
@@ -12885,6 +13090,28 @@ var WIDGET_CSS = `.ss-w-root { all: revert; }
|
|
|
12885
13090
|
.ss-w-nba-nowrow { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; font-size: 13px; }
|
|
12886
13091
|
.ss-w-nba-foot{font-size:11px;color:var(--ss-w-faint);line-height:1.4;border-top:1px solid var(--ss-w-line);padding-top:10px}
|
|
12887
13092
|
.ss-w-nba-card .ss-w-combo-addall { align-self: stretch; }
|
|
13093
|
+
/* matchup, quarter ladder and settle recap (u564 lane B): the same card, ladder grid and figures as above. */
|
|
13094
|
+
.ss-w-nba-ladder--q{grid-template-columns:70px minmax(0,1fr) 62px 74px}
|
|
13095
|
+
.ss-w-nba-mu,.ss-w-nba-sr{display:grid;align-items:start;gap:8px 6px;font-size:13px;font-variant-numeric:tabular-nums}
|
|
13096
|
+
.ss-w-nba-mu{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr)}
|
|
13097
|
+
.ss-w-nba-mu .ss-w-nba-hd{white-space:normal}
|
|
13098
|
+
.ss-w-nba-mu-team { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; font-size: 14px; color: var(--ss-w-ink); }
|
|
13099
|
+
.ss-w-nba-mu-v { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
|
|
13100
|
+
.ss-w-nba-mu-v b { font-size: 15px; font-weight: 700; color: var(--ss-w-ink); }
|
|
13101
|
+
.ss-w-nba-mu-v span, .ss-w-nba-mu-rest { font-size: 10.5px; line-height: 1.3; color: var(--ss-w-faint); }
|
|
13102
|
+
.ss-w-nba-mu-rest { overflow-wrap: anywhere; }
|
|
13103
|
+
.ss-w-nba-b2b { white-space: nowrap; }
|
|
13104
|
+
.ss-w-nba-mu-pos { margin: 0; font-size: 12px; line-height: 1.45; color: var(--ss-w-ink); }
|
|
13105
|
+
.ss-w-nba-small { display: inline-block; font-size: 10px; font-weight: 600; line-height: 1.3; color: var(--ss-w-warn); border: 1px solid var(--ss-w-warn); border-radius: 999px; padding: 0 6px; white-space: nowrap; }
|
|
13106
|
+
.ss-w-nba-mu-pos .ss-w-nba-small { margin-left: 6px; }
|
|
13107
|
+
.ss-w-nba-sr-player { display: flex; flex-direction: column; gap: 6px; }
|
|
13108
|
+
.ss-w-nba-sr{grid-template-columns:minmax(0,1fr) 44px 44px 54px;align-items:center}
|
|
13109
|
+
.ss-w-nba-sr-line { display: contents; }
|
|
13110
|
+
.ss-w-nba-sr .ss-w-nba-n { text-align: right; }
|
|
13111
|
+
.ss-w-nba-res { justify-self: end; font-size: 11px; font-weight: 600; line-height: 1.3; color: var(--ss-w-ink); border: 1px solid var(--ss-w-line); border-radius: 999px; padding: 1px 8px; white-space: nowrap; }
|
|
13112
|
+
.ss-w-nba-res[data-result="push"], .ss-w-nba-res[data-result="void"] { color: var(--ss-w-faint); }
|
|
13113
|
+
.ss-w-nba-more, .ss-w-nba-sr-sum { margin: 0; font-size: 12px; line-height: 1.4; color: var(--ss-w-faint); }
|
|
13114
|
+
.ss-w-nba-sr-sum { font-weight: 600; color: var(--ss-w-ink); }
|
|
12888
13115
|
|
|
12889
13116
|
/* market odds card */
|
|
12890
13117
|
.ss-w-mocards { display: flex; flex-direction: column; gap: 7px; }
|