@sensiblestats/widget-react 0.93.0 → 0.95.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/CHANGELOG.md +23 -0
- package/dist/index.cjs +227 -15
- 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 +227 -15
- package/dist/index.js.map +1 -1
- package/dist/styles.css +22 -2
- 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" };
|
|
@@ -309,7 +311,6 @@ var STRINGS = {
|
|
|
309
311
|
under: (l) => `Under ${l}`,
|
|
310
312
|
lastN: (n) => `L${n}`,
|
|
311
313
|
both: "Both",
|
|
312
|
-
combined: "Two prices multiplied",
|
|
313
314
|
addBoth: "Add both to slip",
|
|
314
315
|
bothInSlip: "Both in slip",
|
|
315
316
|
spread: "Spread",
|
|
@@ -335,7 +336,26 @@ var STRINGS = {
|
|
|
335
336
|
propsLast5: "Last 5 games",
|
|
336
337
|
propsLadderOnly: "Ladder only",
|
|
337
338
|
propsMarkets: (n) => `${n} markets`,
|
|
338
|
-
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"
|
|
339
359
|
},
|
|
340
360
|
games: {
|
|
341
361
|
lang: "en",
|
|
@@ -820,7 +840,6 @@ var STRINGS = {
|
|
|
820
840
|
under: (l) => `Alt ${l}`,
|
|
821
841
|
lastN: (n) => `L${n}`,
|
|
822
842
|
both: "\u0130kisi de",
|
|
823
|
-
combined: "\u0130ki oran\u0131n \xE7arp\u0131m\u0131",
|
|
824
843
|
addBoth: "\u0130kisini kupona ekle",
|
|
825
844
|
bothInSlip: "\u0130kisi de kuponda",
|
|
826
845
|
spread: "Handikap",
|
|
@@ -846,7 +865,26 @@ var STRINGS = {
|
|
|
846
865
|
propsLast5: "Son 5 ma\xE7",
|
|
847
866
|
propsLadderOnly: "Sadece alternatif",
|
|
848
867
|
propsMarkets: (n) => `${n} market`,
|
|
849
|
-
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"
|
|
850
888
|
},
|
|
851
889
|
games: {
|
|
852
890
|
lang: "tr",
|
|
@@ -1061,7 +1099,7 @@ function isEnglishLocale(locale) {
|
|
|
1061
1099
|
}
|
|
1062
1100
|
|
|
1063
1101
|
// src/version.generated.ts
|
|
1064
|
-
var WIDGET_REACT_VERSION = "0.
|
|
1102
|
+
var WIDGET_REACT_VERSION = "0.95.0";
|
|
1065
1103
|
|
|
1066
1104
|
// src/config.ts
|
|
1067
1105
|
function normalizeUi(cfg) {
|
|
@@ -1656,6 +1694,27 @@ function comboLegToSlipSelection(leg, conversationId) {
|
|
|
1656
1694
|
if (conversationId !== void 0) selection.conversationId = conversationId;
|
|
1657
1695
|
return selection;
|
|
1658
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
|
+
}
|
|
1659
1718
|
function nbaEvidence(insight) {
|
|
1660
1719
|
switch (insight.kind) {
|
|
1661
1720
|
case "prop_reason":
|
|
@@ -1668,6 +1727,14 @@ function nbaEvidence(insight) {
|
|
|
1668
1727
|
return insight.coHit && insight.coHit.legs.length === 2 ? { kind: "co_hit", coHit: insight.coHit } : null;
|
|
1669
1728
|
case "ladder":
|
|
1670
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;
|
|
1671
1738
|
default:
|
|
1672
1739
|
return null;
|
|
1673
1740
|
}
|
|
@@ -2614,7 +2681,7 @@ function clearConversation(storageKey) {
|
|
|
2614
2681
|
}
|
|
2615
2682
|
|
|
2616
2683
|
// src/presets.ts
|
|
2617
|
-
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"];
|
|
2618
2685
|
var PRICE_TILE_PREFIX = "goal-preset-";
|
|
2619
2686
|
function isPriceTile(tile) {
|
|
2620
2687
|
const id = tile.signal?.entityId;
|
|
@@ -5055,19 +5122,23 @@ function NbaPrice({ vm, selectionKey, label, ui, slip }) {
|
|
|
5055
5122
|
function Head({ vm, chip, ui, monitor }) {
|
|
5056
5123
|
const fixture = vm.homeTeamName && vm.awayTeamName ? `${vm.homeTeamName} vs ${vm.awayTeamName}` : vm.competition;
|
|
5057
5124
|
const meta = [fixture, vm.kickoffLabel].filter(Boolean).join(" \xB7 ");
|
|
5125
|
+
const pinnable = monitor?.enabled === true && vm.evidence.kind !== "settle_recap";
|
|
5058
5126
|
return /* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-head", children: [
|
|
5059
5127
|
/* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-head-l", children: [
|
|
5060
5128
|
meta ? /* @__PURE__ */ jsx17("p", { className: "ss-w-nba-meta", children: meta }) : null,
|
|
5061
5129
|
/* @__PURE__ */ jsx17("p", { className: "ss-w-nba-title", children: vm.title })
|
|
5062
5130
|
] }),
|
|
5063
|
-
chip ||
|
|
5131
|
+
chip || pinnable ? /* @__PURE__ */ jsxs13("span", { className: "ss-w-bi-meta-right", children: [
|
|
5064
5132
|
chip ? /* @__PURE__ */ jsx17("span", { className: "ss-w-nba-chip", children: chip }) : null,
|
|
5065
|
-
monitor
|
|
5133
|
+
pinnable && monitor ? /* @__PURE__ */ jsx17(PinToggle, { ui, monitor, pin: { kind: "match", matchId: vm.matchId, sport: "basketball" } }) : null
|
|
5066
5134
|
] }) : null
|
|
5067
5135
|
] });
|
|
5068
5136
|
}
|
|
5069
5137
|
function Foot({ vm, ui, lines }) {
|
|
5070
|
-
|
|
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(" ") });
|
|
5071
5142
|
}
|
|
5072
5143
|
function PropReason({ vm, pr, ui, slip }) {
|
|
5073
5144
|
const nba = ui.nba;
|
|
@@ -5136,6 +5207,117 @@ function Ladder({ vm, ld, ui, slip }) {
|
|
|
5136
5207
|
] })
|
|
5137
5208
|
] }, `${st.stat}:${si}`)) });
|
|
5138
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
|
+
}
|
|
5139
5321
|
function TeammateOut({ vm, to, ui, slip }) {
|
|
5140
5322
|
const nba = ui.nba;
|
|
5141
5323
|
const first = to.rows[0];
|
|
@@ -5208,10 +5390,6 @@ function CoHit({ vm, ch, ui, slip }) {
|
|
|
5208
5390
|
games.map((g, i) => /* @__PURE__ */ jsx17("span", { className: "ss-w-nba-jc ss-w-nba-tick", children: g.both ? "\u2713" : "" }, `both:${i}`)),
|
|
5209
5391
|
blanks("both")
|
|
5210
5392
|
] }) : null,
|
|
5211
|
-
/* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-combined", children: [
|
|
5212
|
-
/* @__PURE__ */ jsx17("span", { children: nba.combined }),
|
|
5213
|
-
/* @__PURE__ */ jsx17("b", { children: ch.combinedPrice.toFixed(2) })
|
|
5214
|
-
] }),
|
|
5215
5393
|
takesBasketball(slip) ? /* @__PURE__ */ jsx17(
|
|
5216
5394
|
AddAllToSlipButton,
|
|
5217
5395
|
{
|
|
@@ -5326,6 +5504,20 @@ function NbaCard({ vm, ui, slip, monitor }) {
|
|
|
5326
5504
|
body = /* @__PURE__ */ jsx17(LineMove, { vm, lm: ev.lineMove, ui, slip });
|
|
5327
5505
|
foot = [nba.lineMoveKey];
|
|
5328
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;
|
|
5329
5521
|
}
|
|
5330
5522
|
return /* @__PURE__ */ jsxs13("div", { className: "ss-w-nba-card", "data-kind": ev.kind, children: [
|
|
5331
5523
|
/* @__PURE__ */ jsx17(Head, { vm, chip, ui, monitor }),
|
|
@@ -12870,8 +13062,6 @@ var WIDGET_CSS = `.ss-w-root { all: revert; }
|
|
|
12870
13062
|
.ss-w-nba-jc[data-hit] { color: var(--ss-w-ink); font-weight: 700; }
|
|
12871
13063
|
.ss-w-nba-joint .ss-w-nba-hd { font-size: 10px; }
|
|
12872
13064
|
.ss-w-nba-tick { color: var(--ss-w-accent); font-weight: 700; }
|
|
12873
|
-
.ss-w-nba-combined { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--ss-w-faint); }
|
|
12874
|
-
.ss-w-nba-combined b { font-size: 16px; color: var(--ss-w-ink); font-variant-numeric: tabular-nums; }
|
|
12875
13065
|
.ss-w-nba-legend { display: flex; gap: 14px; flex-wrap: wrap; font-size: 11px; color: var(--ss-w-faint); }
|
|
12876
13066
|
.ss-w-nba-legkey { display: inline-flex; align-items: center; gap: 5px; }
|
|
12877
13067
|
.ss-w-nba-swatch { width: 12px; height: 2px; border-radius: 1px; }
|
|
@@ -12893,6 +13083,28 @@ var WIDGET_CSS = `.ss-w-root { all: revert; }
|
|
|
12893
13083
|
.ss-w-nba-nowrow { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; font-size: 13px; }
|
|
12894
13084
|
.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}
|
|
12895
13085
|
.ss-w-nba-card .ss-w-combo-addall { align-self: stretch; }
|
|
13086
|
+
/* matchup, quarter ladder and settle recap (u564 lane B): the same card, ladder grid and figures as above. */
|
|
13087
|
+
.ss-w-nba-ladder--q{grid-template-columns:70px minmax(0,1fr) 62px 74px}
|
|
13088
|
+
.ss-w-nba-mu,.ss-w-nba-sr{display:grid;align-items:start;gap:8px 6px;font-size:13px;font-variant-numeric:tabular-nums}
|
|
13089
|
+
.ss-w-nba-mu{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr)}
|
|
13090
|
+
.ss-w-nba-mu .ss-w-nba-hd{white-space:normal}
|
|
13091
|
+
.ss-w-nba-mu-team { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; font-size: 14px; color: var(--ss-w-ink); }
|
|
13092
|
+
.ss-w-nba-mu-v { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
|
|
13093
|
+
.ss-w-nba-mu-v b { font-size: 15px; font-weight: 700; color: var(--ss-w-ink); }
|
|
13094
|
+
.ss-w-nba-mu-v span, .ss-w-nba-mu-rest { font-size: 10.5px; line-height: 1.3; color: var(--ss-w-faint); }
|
|
13095
|
+
.ss-w-nba-mu-rest { overflow-wrap: anywhere; }
|
|
13096
|
+
.ss-w-nba-b2b { white-space: nowrap; }
|
|
13097
|
+
.ss-w-nba-mu-pos { margin: 0; font-size: 12px; line-height: 1.45; color: var(--ss-w-ink); }
|
|
13098
|
+
.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; }
|
|
13099
|
+
.ss-w-nba-mu-pos .ss-w-nba-small { margin-left: 6px; }
|
|
13100
|
+
.ss-w-nba-sr-player { display: flex; flex-direction: column; gap: 6px; }
|
|
13101
|
+
.ss-w-nba-sr{grid-template-columns:minmax(0,1fr) 44px 44px 54px;align-items:center}
|
|
13102
|
+
.ss-w-nba-sr-line { display: contents; }
|
|
13103
|
+
.ss-w-nba-sr .ss-w-nba-n { text-align: right; }
|
|
13104
|
+
.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; }
|
|
13105
|
+
.ss-w-nba-res[data-result="push"], .ss-w-nba-res[data-result="void"] { color: var(--ss-w-faint); }
|
|
13106
|
+
.ss-w-nba-more, .ss-w-nba-sr-sum { margin: 0; font-size: 12px; line-height: 1.4; color: var(--ss-w-faint); }
|
|
13107
|
+
.ss-w-nba-sr-sum { font-weight: 600; color: var(--ss-w-ink); }
|
|
12896
13108
|
|
|
12897
13109
|
/* market odds card */
|
|
12898
13110
|
.ss-w-mocards { display: flex; flex-direction: column; gap: 7px; }
|