@sensiblestats/widget-react 0.39.1 → 0.41.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 +17 -0
- package/dist/index.cjs +17 -5
- 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 +17 -5
- package/dist/index.js.map +1 -1
- package/dist/styles.css +2 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @sensiblestats/widget-react
|
|
2
2
|
|
|
3
|
+
## 0.41.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 286bdc0: Add a match pin to the chat market-odds card. The card now mirrors the two-pin betting-insight card: the header pin tracks the match, and a second pin on the market line tracks the odds. The live odds panel is unchanged — it keeps its single market pin.
|
|
8
|
+
|
|
9
|
+
## 0.40.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- Greeting dashboard tiles can now carry an opaque `actionRef`: when the server binds a tile to a tool, a tap forwards the ref (resolved server-side, skipping the LLM planning turn) and `actionValue` stays as the fallback. Adds `actionRef` to `GreetingDashboardTile`; `MessageList` forwards it on tap when present.
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
- @sensiblestats/widget-sdk@0.30.1
|
|
19
|
+
|
|
3
20
|
## 0.39.1
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/dist/index.cjs
CHANGED
|
@@ -2022,6 +2022,7 @@ function MarketOddsCard({ vm, ui, slip, monitor, inSlipIds, hideHeader, pinRef }
|
|
|
2022
2022
|
const kickoff = vm.kickoffUtc && ui?.bettingKickoff ? ui.bettingKickoff(vm.kickoffUtc) : void 0;
|
|
2023
2023
|
const hasNamedTeams = !!vm.homeTeamName && !!vm.awayTeamName;
|
|
2024
2024
|
const showPin = !!monitor && vm.pinEnabled;
|
|
2025
|
+
const showMarketPin = showPin && !pinRef;
|
|
2025
2026
|
const showHeader = !!vm.competition || vm.isLive || !!kickoff || showPin;
|
|
2026
2027
|
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: hideHeader ? "ss-w-mocard ss-w-mocard--bare" : "ss-w-mocard", children: [
|
|
2027
2028
|
!hideHeader && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
|
|
@@ -2045,12 +2046,12 @@ function MarketOddsCard({ vm, ui, slip, monitor, inSlipIds, hideHeader, pinRef }
|
|
|
2045
2046
|
{
|
|
2046
2047
|
ui,
|
|
2047
2048
|
monitor,
|
|
2048
|
-
pin: pinRef ?? { kind: "
|
|
2049
|
+
pin: pinRef ?? { kind: "match", matchId: vm.matchId }
|
|
2049
2050
|
}
|
|
2050
2051
|
) : null
|
|
2051
2052
|
] })
|
|
2052
2053
|
] }) : null,
|
|
2053
|
-
hasNamedTeams || vm.fixture || vm.market ? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ss-w-mo-sub", children: [
|
|
2054
|
+
hasNamedTeams || vm.fixture || vm.market || showMarketPin ? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ss-w-mo-sub", children: [
|
|
2054
2055
|
hasNamedTeams ? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ss-w-bi-fixture", children: [
|
|
2055
2056
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Crest2, { kind: "team", url: vm.homeCrest, name: vm.homeTeamName }),
|
|
2056
2057
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "ss-w-bi-team", children: vm.homeTeamName }),
|
|
@@ -2058,7 +2059,17 @@ function MarketOddsCard({ vm, ui, slip, monitor, inSlipIds, hideHeader, pinRef }
|
|
|
2058
2059
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "ss-w-bi-team", children: vm.awayTeamName }),
|
|
2059
2060
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Crest2, { kind: "team", url: vm.awayCrest, name: vm.awayTeamName })
|
|
2060
2061
|
] }) : vm.fixture ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "ss-w-mo-teams", children: vm.fixture }) : null,
|
|
2061
|
-
vm.market ? /* @__PURE__ */ (0, import_jsx_runtime14.
|
|
2062
|
+
vm.market || showMarketPin ? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ss-w-mo-market-row", children: [
|
|
2063
|
+
vm.market ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "ss-w-mo-market", children: vm.market }) : null,
|
|
2064
|
+
showMarketPin && ui ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
2065
|
+
PinToggle,
|
|
2066
|
+
{
|
|
2067
|
+
ui,
|
|
2068
|
+
monitor,
|
|
2069
|
+
pin: { kind: "market", matchId: vm.matchId, marketDeveloperName: vm.marketDeveloperName, line: vm.mainLine }
|
|
2070
|
+
}
|
|
2071
|
+
) : null
|
|
2072
|
+
] }) : null
|
|
2062
2073
|
] }) : null
|
|
2063
2074
|
] }),
|
|
2064
2075
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "ss-w-mo-rows", children: [
|
|
@@ -3101,7 +3112,7 @@ function MessageList({ controller, ui, slip, onDashboardTap, monitor }) {
|
|
|
3101
3112
|
disabled: state.isStreaming,
|
|
3102
3113
|
onAct: (a) => send(a.message, { actionId: a.actionId, actionRef: a.actionRef, displayText: a.label }),
|
|
3103
3114
|
onTap: (tile, index) => {
|
|
3104
|
-
send(tile.actionValue, { displayText: tile.title });
|
|
3115
|
+
send(tile.actionValue, tile.actionRef ? { actionRef: tile.actionRef, displayText: tile.title } : { displayText: tile.title });
|
|
3105
3116
|
if (m.role === "assistant" && m.greetingDashboard) onDashboardTap?.(tile, index, m.greetingDashboard.layout);
|
|
3106
3117
|
},
|
|
3107
3118
|
ui,
|
|
@@ -3756,7 +3767,8 @@ var WIDGET_CSS = `.ss-w-root { all: revert; }
|
|
|
3756
3767
|
.ss-w-mocard--bare { border: none; border-radius: 0; padding: 0; background: none; }
|
|
3757
3768
|
.ss-w-mo-sub { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
|
|
3758
3769
|
.ss-w-mo-teams { font-size: 13px; font-weight: 650; color: var(--ss-w-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
3759
|
-
.ss-w-mo-market {
|
|
3770
|
+
.ss-w-mo-market-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
|
|
3771
|
+
.ss-w-mo-market { font-size: 11.5px; font-weight: 600; color: var(--ss-w-faint); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
3760
3772
|
.ss-w-mo-more { align-self: flex-start; display: inline-flex; align-items: center; gap: 5px; background: none; border: none; color: var(--ss-w-accent); font: inherit; font-size: 11.5px; font-weight: 600; padding: 2px 0; cursor: pointer; }
|
|
3761
3773
|
.ss-w-mo-more:hover { text-decoration: underline; }
|
|
3762
3774
|
.ss-w-mo-more-chev { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .15s ease; }
|