@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 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: "market", matchId: vm.matchId, marketDeveloperName: vm.marketDeveloperName, line: vm.mainLine }
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.jsx)("span", { className: "ss-w-mo-market", children: vm.market }) : null
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 { font-size: 11.5px; font-weight: 600; color: var(--ss-w-faint); }
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; }