@agg-build/ui 4.21.0 → 4.21.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/dist/{chunk-JLO2BGSF.mjs → chunk-LIB6TLLV.mjs} +1 -1
- package/dist/{chunk-DWPBGMVJ.mjs → chunk-LTFRGJPL.mjs} +121 -167
- package/dist/{chunk-DONMO42Q.mjs → chunk-R7ARCUYW.mjs} +14 -3
- package/dist/{chunk-5PA5KLXN.mjs → chunk-YBMDEGTJ.mjs} +3 -3
- package/dist/{event-market-UREM3ZE7.mjs → event-market-5SIXH2XF.mjs} +2 -2
- package/dist/events.js +121 -167
- package/dist/events.mjs +2 -2
- package/dist/index.js +140 -175
- package/dist/index.mjs +4 -4
- package/dist/pages.js +140 -175
- package/dist/pages.mjs +4 -4
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/types/events/item-details/event-markets-chart.d.mts +1 -2
- package/dist/types/events/item-details/event-markets-chart.d.ts +1 -2
- package/dist/types/events/item-details/event-markets-chart.utils.d.mts +4 -12
- package/dist/types/events/item-details/event-markets-chart.utils.d.ts +4 -12
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -16558,71 +16558,39 @@ var init_event_chart_window = __esm({
|
|
|
16558
16558
|
});
|
|
16559
16559
|
|
|
16560
16560
|
// src/events/item-details/event-markets-chart.utils.ts
|
|
16561
|
-
|
|
16562
|
-
var _a, _b;
|
|
16563
|
-
if (!selectedOutcomeId) return null;
|
|
16564
|
-
const allMarkets = normalizeVenueMarketCluster(markets);
|
|
16565
|
-
const market = allMarkets.find(
|
|
16566
|
-
(item) => item.venueMarketOutcomes.some((outcome2) => outcome2.id === selectedOutcomeId)
|
|
16567
|
-
);
|
|
16568
|
-
const outcome = market == null ? void 0 : market.venueMarketOutcomes.find((item) => item.id === selectedOutcomeId);
|
|
16569
|
-
if (!market || !outcome) return null;
|
|
16570
|
-
return (_b = (_a = collectEligibleVenueOutcomes({
|
|
16571
|
-
venueMarkets: normalizeVenueMarketCluster(markets, market.id),
|
|
16572
|
-
selectedOutcomeLabel: outcome.label,
|
|
16573
|
-
selectedOutcomeId
|
|
16574
|
-
}).find((item) => item.venue === venue)) == null ? void 0 : _a.outcomeId) != null ? _b : null;
|
|
16575
|
-
}
|
|
16576
|
-
function resolveEventChartPage(outcomes, selectedOutcomeId, requestedPage) {
|
|
16577
|
-
var _a;
|
|
16578
|
-
const pinned = outcomes.find((outcome) => outcome.id === selectedOutcomeId);
|
|
16579
|
-
const remaining = outcomes.filter((outcome) => outcome.id !== (pinned == null ? void 0 : pinned.id));
|
|
16580
|
-
const pageSize = EVENT_CHART_SERIES_LIMIT - (pinned ? 1 : 0);
|
|
16581
|
-
const pageCount = Math.max(1, Math.ceil(remaining.length / pageSize));
|
|
16582
|
-
const page = Math.max(0, Math.min(requestedPage, pageCount - 1));
|
|
16583
|
-
return {
|
|
16584
|
-
page,
|
|
16585
|
-
pageCount,
|
|
16586
|
-
pinnedId: (_a = pinned == null ? void 0 : pinned.id) != null ? _a : null,
|
|
16587
|
-
outcomes: [
|
|
16588
|
-
...pinned ? [pinned] : [],
|
|
16589
|
-
...remaining.slice(page * pageSize, (page + 1) * pageSize)
|
|
16590
|
-
]
|
|
16591
|
-
};
|
|
16592
|
-
}
|
|
16593
|
-
var import_hooks57, EVENT_CHART_SERIES_LIMIT, resolveEventChartOutcomes;
|
|
16561
|
+
var import_hooks57, EVENT_CHART_MARKET_LIMIT, marketVolume, resolveTopEventChartMarkets, resolveEventChartOutcomes;
|
|
16594
16562
|
var init_event_markets_chart_utils = __esm({
|
|
16595
16563
|
"src/events/item-details/event-markets-chart.utils.ts"() {
|
|
16596
16564
|
"use strict";
|
|
16597
16565
|
import_hooks57 = require("@agg-build/hooks");
|
|
16598
16566
|
init_venue_market_cluster();
|
|
16599
|
-
|
|
16600
|
-
|
|
16601
|
-
|
|
16602
|
-
|
|
16603
|
-
|
|
16604
|
-
|
|
16605
|
-
|
|
16606
|
-
|
|
16567
|
+
init_event_list_item_details_utils();
|
|
16568
|
+
EVENT_CHART_MARKET_LIMIT = 3;
|
|
16569
|
+
marketVolume = (market) => {
|
|
16570
|
+
var _a;
|
|
16571
|
+
return Number.isFinite(market.volume) ? Math.max(0, (_a = market.volume) != null ? _a : 0) : 0;
|
|
16572
|
+
};
|
|
16573
|
+
resolveTopEventChartMarkets = (markets, venue) => normalizeVenueMarketCluster(markets).filter((market) => market.venue === venue && market.venueMarketOutcomes.length > 0).sort(
|
|
16574
|
+
(left, right) => marketVolume(right) - marketVolume(left) || left.id.localeCompare(right.id)
|
|
16575
|
+
).slice(0, EVENT_CHART_MARKET_LIMIT);
|
|
16576
|
+
resolveEventChartOutcomes = (markets, venue, eventEndDate) => resolveTopEventChartMarkets(markets, venue).flatMap((market) => {
|
|
16607
16577
|
var _a, _b, _c;
|
|
16608
16578
|
const state = (0, import_hooks57.resolveMarketTradingState)(market);
|
|
16609
16579
|
const hasFinalResult = state.kind === "resolved" && market.venueMarketOutcomes.some((outcome) => outcome.winner === true) && market.venueMarketOutcomes.every((outcome) => outcome.winner != null);
|
|
16610
16580
|
const settledAt = Date.parse((_c = (_b = (_a = market.resolutionDate) != null ? _a : market.endDate) != null ? _b : eventEndDate) != null ? _c : "") / 1e3;
|
|
16611
|
-
const ordered =
|
|
16612
|
-
const rank = (label2) => label2.trim().toLowerCase() === "yes" ? 0 : label2.trim().toLowerCase() === "no" ? 1 : 2;
|
|
16613
|
-
return rank(a.label) - rank(b.label);
|
|
16614
|
-
});
|
|
16581
|
+
const ordered = sortOutcomeSelectorOutcomes(market.venueMarketOutcomes);
|
|
16615
16582
|
return ordered.map((outcome) => {
|
|
16616
|
-
var _a2;
|
|
16583
|
+
var _a2, _b2;
|
|
16617
16584
|
return {
|
|
16618
16585
|
id: outcome.id,
|
|
16619
16586
|
marketId: market.id,
|
|
16620
16587
|
venue: market.venue,
|
|
16621
16588
|
side: outcome.label,
|
|
16589
|
+
outcomeLabel: ((_a2 = outcome.title) == null ? void 0 : _a2.trim()) || outcome.label,
|
|
16622
16590
|
live: !state.isTradingDisabled,
|
|
16623
16591
|
finalValue: hasFinalResult ? outcome.winner ? 100 : 0 : void 0,
|
|
16624
16592
|
settledAt: Number.isFinite(settledAt) ? settledAt : void 0,
|
|
16625
|
-
label: `${market.question} \xB7 ${((
|
|
16593
|
+
label: `${market.question} \xB7 ${((_b2 = outcome.title) == null ? void 0 : _b2.trim()) || outcome.label}`
|
|
16626
16594
|
};
|
|
16627
16595
|
});
|
|
16628
16596
|
});
|
|
@@ -16638,8 +16606,8 @@ var init_event_markets_chart = __esm({
|
|
|
16638
16606
|
import_react30 = require("react");
|
|
16639
16607
|
import_hooks58 = require("@agg-build/hooks");
|
|
16640
16608
|
init_chart();
|
|
16641
|
-
|
|
16642
|
-
|
|
16609
|
+
init_badge();
|
|
16610
|
+
init_venue_logo();
|
|
16643
16611
|
init_chart_utils();
|
|
16644
16612
|
init_venue_market_cluster();
|
|
16645
16613
|
init_event_list_item_details_utils();
|
|
@@ -16652,8 +16620,7 @@ var init_event_markets_chart = __esm({
|
|
|
16652
16620
|
eventEndDate,
|
|
16653
16621
|
contractWindow,
|
|
16654
16622
|
range,
|
|
16655
|
-
live
|
|
16656
|
-
selectedOutcomeId
|
|
16623
|
+
live
|
|
16657
16624
|
}) => {
|
|
16658
16625
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
16659
16626
|
const labels = (0, import_hooks58.useLabels)();
|
|
@@ -16665,31 +16632,20 @@ var init_event_markets_chart = __esm({
|
|
|
16665
16632
|
() => [...new Set(normalizeVenueMarketCluster(markets).map((market) => market.venue))],
|
|
16666
16633
|
[markets]
|
|
16667
16634
|
);
|
|
16668
|
-
const venue = venues.includes(defaultVenue) ? defaultVenue : (_a = venues[0]) != null ? _a : defaultVenue;
|
|
16669
|
-
const outcomes = (0, import_react30.useMemo)(
|
|
16670
|
-
() => resolveEventChartOutcomes(markets, venue, eventEndDate),
|
|
16671
|
-
[markets, venue, eventEndDate]
|
|
16672
|
-
);
|
|
16673
16635
|
const [selection, setSelection] = (0, import_react30.useState)(() => ({
|
|
16674
|
-
|
|
16675
|
-
|
|
16636
|
+
defaultVenue,
|
|
16637
|
+
venue: defaultVenue,
|
|
16676
16638
|
hidden: /* @__PURE__ */ new Set()
|
|
16677
16639
|
}));
|
|
16678
|
-
const
|
|
16679
|
-
|
|
16680
|
-
|
|
16681
|
-
);
|
|
16682
|
-
const
|
|
16683
|
-
() =>
|
|
16684
|
-
[
|
|
16685
|
-
);
|
|
16686
|
-
const page = (0, import_react30.useMemo)(
|
|
16687
|
-
() => resolveEventChartPage(outcomes, pinnedOutcomeId, currentSelection.page),
|
|
16688
|
-
[outcomes, pinnedOutcomeId, currentSelection.page]
|
|
16689
|
-
);
|
|
16690
|
-
const activeOutcomes = page.outcomes.filter(
|
|
16691
|
-
(outcome) => outcome.id === page.pinnedId || !currentSelection.hidden.has(outcome.id)
|
|
16640
|
+
const requestedVenue = selection.defaultVenue === defaultVenue ? selection.venue : defaultVenue;
|
|
16641
|
+
const venue = venues.includes(requestedVenue) ? requestedVenue : (_a = venues[0]) != null ? _a : defaultVenue;
|
|
16642
|
+
const hidden = selection.defaultVenue === defaultVenue && selection.venue === venue ? selection.hidden : /* @__PURE__ */ new Set();
|
|
16643
|
+
const topMarkets = (0, import_react30.useMemo)(() => resolveTopEventChartMarkets(markets, venue), [markets, venue]);
|
|
16644
|
+
const outcomes = (0, import_react30.useMemo)(
|
|
16645
|
+
() => resolveEventChartOutcomes(topMarkets, venue, eventEndDate),
|
|
16646
|
+
[topMarkets, venue, eventEndDate]
|
|
16692
16647
|
);
|
|
16648
|
+
const activeOutcomes = outcomes.filter((outcome) => !hidden.has(outcome.id));
|
|
16693
16649
|
const activeIds = new Set(activeOutcomes.map((outcome) => outcome.id));
|
|
16694
16650
|
const rollingWindow = (0, import_hooks58.useRollingChartWindow)({
|
|
16695
16651
|
range,
|
|
@@ -16722,10 +16678,10 @@ var init_event_markets_chart = __esm({
|
|
|
16722
16678
|
live: live && !windowEnded
|
|
16723
16679
|
});
|
|
16724
16680
|
const stableColorIds = (0, import_react30.useMemo)(
|
|
16725
|
-
() =>
|
|
16726
|
-
[
|
|
16681
|
+
() => normalizeVenueMarketCluster(markets).filter((market) => market.venue === venue).map((market) => market.id).sort(),
|
|
16682
|
+
[markets, venue]
|
|
16727
16683
|
);
|
|
16728
|
-
const allSeries =
|
|
16684
|
+
const allSeries = outcomes.map((outcome) => {
|
|
16729
16685
|
var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h, _i;
|
|
16730
16686
|
const settledAt = outcome.settledAt == null ? void 0 : contractWindow ? Math.min(outcome.settledAt, contractWindow.to) : outcome.settledAt;
|
|
16731
16687
|
const outcomeLive = outcome.live && !windowEnded;
|
|
@@ -16761,110 +16717,109 @@ var init_event_markets_chart = __esm({
|
|
|
16761
16717
|
});
|
|
16762
16718
|
const visibleSeries = allSeries.filter((series) => activeIds.has(series.id));
|
|
16763
16719
|
const hasVisibleHistory = visibleSeries.some((series) => series.points.length > 0);
|
|
16764
|
-
const volume =
|
|
16765
|
-
(
|
|
16720
|
+
const volume = topMarkets.reduce(
|
|
16721
|
+
(sum, market) => {
|
|
16766
16722
|
var _a2;
|
|
16767
|
-
return sum + ((_a2 = market.volume) != null ? _a2 : 0);
|
|
16768
|
-
},
|
|
16769
|
-
|
|
16723
|
+
return sum + (Number.isFinite(market.volume) ? Math.max(0, (_a2 = market.volume) != null ? _a2 : 0) : 0);
|
|
16724
|
+
},
|
|
16725
|
+
0
|
|
16770
16726
|
);
|
|
16771
16727
|
const venueLabel = (_g = labels.venues[venue]) != null ? _g : venue;
|
|
16772
16728
|
return /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)("div", { className: "agg-event-markets-chart flex flex-col gap-3", children: [
|
|
16773
|
-
/* @__PURE__ */ (0, import_jsx_runtime161.
|
|
16774
|
-
|
|
16775
|
-
|
|
16776
|
-
|
|
16777
|
-
|
|
16778
|
-
|
|
16779
|
-
|
|
16780
|
-
|
|
16781
|
-
|
|
16782
|
-
|
|
16783
|
-
|
|
16784
|
-
|
|
16785
|
-
}
|
|
16786
|
-
|
|
16787
|
-
|
|
16788
|
-
|
|
16789
|
-
|
|
16790
|
-
|
|
16791
|
-
|
|
16792
|
-
|
|
16793
|
-
|
|
16794
|
-
|
|
16795
|
-
|
|
16796
|
-
|
|
16797
|
-
|
|
16798
|
-
|
|
16799
|
-
|
|
16800
|
-
|
|
16801
|
-
suffix: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(Icon, { name: "chevron-right", size: "small" }),
|
|
16802
|
-
children: labels.eventItemDetails.comparisonNextSeries
|
|
16803
|
-
}
|
|
16804
|
-
)
|
|
16805
|
-
] }) : null
|
|
16806
|
-
] }),
|
|
16807
|
-
outcomes.length > EVENT_CHART_SERIES_LIMIT ? /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("p", { className: "text-agg-xs text-agg-muted-foreground", children: labels.eventItemDetails.comparisonSeriesBudget(EVENT_CHART_SERIES_LIMIT) }) : null,
|
|
16729
|
+
/* @__PURE__ */ (0, import_jsx_runtime161.jsx)("div", { className: "agg-market-badges flex min-w-0 gap-2 overflow-x-auto pb-1 md:flex-wrap", children: venues.map((item) => {
|
|
16730
|
+
var _a2, _b2;
|
|
16731
|
+
return /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
|
|
16732
|
+
"button",
|
|
16733
|
+
{
|
|
16734
|
+
type: "button",
|
|
16735
|
+
"aria-label": (_a2 = labels.venues[item]) != null ? _a2 : item,
|
|
16736
|
+
"aria-pressed": venue === item,
|
|
16737
|
+
className: "agg-market-badge cursor-pointer rounded-agg-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-agg-primary",
|
|
16738
|
+
onClick: (event) => {
|
|
16739
|
+
event.preventDefault();
|
|
16740
|
+
event.stopPropagation();
|
|
16741
|
+
if (item !== venue) setSelection({ defaultVenue, venue: item, hidden: /* @__PURE__ */ new Set() });
|
|
16742
|
+
},
|
|
16743
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
|
|
16744
|
+
Badge,
|
|
16745
|
+
{
|
|
16746
|
+
text: (_b2 = labels.venues[item]) != null ? _b2 : item,
|
|
16747
|
+
prefix: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(VenueLogo, { venue: item, size: "small", title: item }),
|
|
16748
|
+
size: "large",
|
|
16749
|
+
isActive: venue === item,
|
|
16750
|
+
classNames: { root: "shrink-0 border px-4 h-8 md:h-9" }
|
|
16751
|
+
}
|
|
16752
|
+
)
|
|
16753
|
+
},
|
|
16754
|
+
item
|
|
16755
|
+
);
|
|
16756
|
+
}) }),
|
|
16808
16757
|
/* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
|
|
16809
16758
|
"div",
|
|
16810
16759
|
{
|
|
16811
16760
|
role: "group",
|
|
16812
16761
|
"aria-label": labels.eventItemDetails.chartLegend,
|
|
16813
|
-
className: "flex flex-
|
|
16814
|
-
children:
|
|
16815
|
-
|
|
16816
|
-
|
|
16817
|
-
|
|
16818
|
-
|
|
16819
|
-
|
|
16820
|
-
|
|
16821
|
-
|
|
16822
|
-
|
|
16823
|
-
|
|
16824
|
-
|
|
16825
|
-
|
|
16826
|
-
|
|
16827
|
-
|
|
16828
|
-
|
|
16762
|
+
className: "flex flex-col gap-2",
|
|
16763
|
+
children: topMarkets.map((market) => {
|
|
16764
|
+
var _a2;
|
|
16765
|
+
return /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)(
|
|
16766
|
+
"div",
|
|
16767
|
+
{
|
|
16768
|
+
"data-chart-market-id": market.id,
|
|
16769
|
+
className: "flex min-w-0 flex-wrap items-center justify-between gap-x-4 gap-y-1",
|
|
16770
|
+
children: [
|
|
16771
|
+
/* @__PURE__ */ (0, import_jsx_runtime161.jsxs)("span", { className: "flex min-w-0 items-center gap-2 text-agg-sm text-agg-foreground", children: [
|
|
16772
|
+
/* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
|
|
16773
|
+
"span",
|
|
16774
|
+
{
|
|
16775
|
+
"aria-hidden": "true",
|
|
16776
|
+
className: "h-0 w-4 shrink-0 border-t-2",
|
|
16777
|
+
style: {
|
|
16778
|
+
borderColor: (_a2 = allSeries.find((series) => series.marketId === market.id)) == null ? void 0 : _a2.color
|
|
16779
|
+
}
|
|
16780
|
+
}
|
|
16781
|
+
),
|
|
16782
|
+
/* @__PURE__ */ (0, import_jsx_runtime161.jsx)("span", { className: "truncate", title: market.question, children: market.question })
|
|
16783
|
+
] }),
|
|
16784
|
+
/* @__PURE__ */ (0, import_jsx_runtime161.jsx)("div", { className: "agg-outcome-switch flex max-w-full flex-wrap gap-1 rounded-agg-full bg-agg-secondary", children: allSeries.filter((series) => series.marketId === market.id).map((series) => {
|
|
16785
|
+
const value = !activeIds.has(series.id) ? labels.eventItemDetails.comparisonHiddenSeries : series.pending ? labels.common.loading : series.points.length === 0 ? labels.eventItemDetails.marketHistoryUnavailable : formatDefaultChartValue(
|
|
16786
|
+
series.current != null ? series.current * 100 : series.points.at(-1).value
|
|
16787
|
+
);
|
|
16788
|
+
return /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
|
|
16789
|
+
"button",
|
|
16790
|
+
{
|
|
16791
|
+
type: "button",
|
|
16792
|
+
"data-chart-outcome-id": series.id,
|
|
16793
|
+
"aria-label": `${series.label} ${value}`,
|
|
16794
|
+
"aria-pressed": activeIds.has(series.id),
|
|
16795
|
+
title: `${series.label} ${value}`,
|
|
16796
|
+
className: "cursor-pointer rounded-agg-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-agg-primary",
|
|
16797
|
+
onClick: (event) => {
|
|
16798
|
+
event.preventDefault();
|
|
16799
|
+
event.stopPropagation();
|
|
16800
|
+
const next = new Set(hidden);
|
|
16801
|
+
if (next.has(series.id)) next.delete(series.id);
|
|
16802
|
+
else next.add(series.id);
|
|
16803
|
+
setSelection({ defaultVenue, venue, hidden: next });
|
|
16804
|
+
},
|
|
16805
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
|
|
16806
|
+
Badge,
|
|
16807
|
+
{
|
|
16808
|
+
text: `${series.outcomeLabel} ${value}`,
|
|
16809
|
+
size: "large",
|
|
16810
|
+
isActive: activeIds.has(series.id),
|
|
16811
|
+
classNames: { root: "h-8 w-36 border px-4 tabular-nums md:h-9" }
|
|
16812
|
+
}
|
|
16813
|
+
)
|
|
16814
|
+
},
|
|
16815
|
+
series.id
|
|
16816
|
+
);
|
|
16817
|
+
}) })
|
|
16818
|
+
]
|
|
16829
16819
|
},
|
|
16830
|
-
|
|
16831
|
-
|
|
16832
|
-
|
|
16833
|
-
/* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
|
|
16834
|
-
"span",
|
|
16835
|
-
{
|
|
16836
|
-
"aria-hidden": "true",
|
|
16837
|
-
className: "h-0 w-4 shrink-0 border-t-2",
|
|
16838
|
-
style: {
|
|
16839
|
-
borderColor: series.color,
|
|
16840
|
-
borderTopStyle: series.lineStyle === "dashed" ? "dashed" : "solid"
|
|
16841
|
-
}
|
|
16842
|
-
}
|
|
16843
|
-
),
|
|
16844
|
-
/* @__PURE__ */ (0, import_jsx_runtime161.jsx)("span", { className: "min-w-0 text-left [overflow-wrap:anywhere]", children: series.label }),
|
|
16845
|
-
series.id === page.pinnedId ? /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("span", { children: labels.eventItemDetails.comparisonSelectedSeries }) : null,
|
|
16846
|
-
/* @__PURE__ */ (0, import_jsx_runtime161.jsxs)("span", { className: "inline-grid shrink-0 items-center font-agg-semibold tabular-nums", children: [
|
|
16847
|
-
[
|
|
16848
|
-
formatDefaultChartValue(100),
|
|
16849
|
-
formatDefaultChartValue(99.9),
|
|
16850
|
-
labels.common.loading,
|
|
16851
|
-
labels.eventItemDetails.comparisonHiddenSeries,
|
|
16852
|
-
labels.eventItemDetails.marketHistoryUnavailable
|
|
16853
|
-
].map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
|
|
16854
|
-
"span",
|
|
16855
|
-
{
|
|
16856
|
-
"aria-hidden": "true",
|
|
16857
|
-
className: "invisible col-start-1 row-start-1 select-none",
|
|
16858
|
-
children: value
|
|
16859
|
-
},
|
|
16860
|
-
index
|
|
16861
|
-
)),
|
|
16862
|
-
/* @__PURE__ */ (0, import_jsx_runtime161.jsx)("span", { className: "col-start-1 row-start-1", children: !activeIds.has(series.id) ? labels.eventItemDetails.comparisonHiddenSeries : series.pending ? labels.common.loading : series.points.length === 0 ? labels.eventItemDetails.marketHistoryUnavailable : series.current != null ? formatDefaultChartValue(series.current * 100) : formatDefaultChartValue(series.points.at(-1).value) })
|
|
16863
|
-
] })
|
|
16864
|
-
]
|
|
16865
|
-
},
|
|
16866
|
-
series.id
|
|
16867
|
-
))
|
|
16820
|
+
market.id
|
|
16821
|
+
);
|
|
16822
|
+
})
|
|
16868
16823
|
}
|
|
16869
16824
|
),
|
|
16870
16825
|
visibleSeries.length === 0 && allSeries.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
|
|
@@ -17401,7 +17356,7 @@ var init_item_details = __esm({
|
|
|
17401
17356
|
recurringMarkets,
|
|
17402
17357
|
sportsLiveState
|
|
17403
17358
|
}) => {
|
|
17404
|
-
var _a, _b, _c, _d, _e, _f
|
|
17359
|
+
var _a, _b, _c, _d, _e, _f;
|
|
17405
17360
|
const [selectedChartType, setSelectedChartType] = (0, import_react31.useState)("line");
|
|
17406
17361
|
const [chartView, setChartView] = (0, import_react31.useState)(defaultChartView);
|
|
17407
17362
|
const lastAppliedEventSyncKeyRef = (0, import_react31.useRef)(null);
|
|
@@ -17729,7 +17684,6 @@ var init_item_details = __esm({
|
|
|
17729
17684
|
{
|
|
17730
17685
|
markets: event.venueMarkets,
|
|
17731
17686
|
defaultVenue: event.venue,
|
|
17732
|
-
selectedOutcomeId: (tradingContext == null ? void 0 : tradingContext.selectedEventId) === event.id ? tradingContext.selectedOutcomeId : (_f = scopedSelectedMarket == null ? void 0 : scopedSelectedMarket.venueMarketOutcomes[0]) == null ? void 0 : _f.id,
|
|
17733
17687
|
eventEndDate: event.endDate,
|
|
17734
17688
|
contractWindow,
|
|
17735
17689
|
range: chartRangeOverride != null ? chartRangeOverride : config.chart.selectedChartTimeRange,
|
|
@@ -17744,7 +17698,7 @@ var init_item_details = __esm({
|
|
|
17744
17698
|
selectedChartType,
|
|
17745
17699
|
venueInfo,
|
|
17746
17700
|
venueMarkets,
|
|
17747
|
-
selectedMarketId: (
|
|
17701
|
+
selectedMarketId: (_f = scopedSelectedMarket == null ? void 0 : scopedSelectedMarket.id) != null ? _f : null,
|
|
17748
17702
|
livePrices,
|
|
17749
17703
|
restMidpoints,
|
|
17750
17704
|
bestMidpoint,
|
|
@@ -32000,7 +31954,7 @@ var init_event_market_shared = __esm({
|
|
|
32000
31954
|
});
|
|
32001
31955
|
|
|
32002
31956
|
// src/pages/event-market/sports-event-market.utils.ts
|
|
32003
|
-
var SPORTS_MARKET_TYPE_KEYS, SPORTS_PERIOD_KEYS, SPORTS_PERIOD_GRAMMAR_PATTERN, SPORTS_MARKET_CATEGORY_KEYS, SPORTS_MARKET_GROUP_KEYS, SPORTS_PERIOD_KEY_SET, SPORTS_MARKET_TYPE_KEY_SET, SPORTS_MARKET_CATEGORY_KEY_SET, SPORTS_MARKET_GROUP_KEY_SET, SPORTS_LEGACY_PROP_CATEGORY_KEY_SET, SPORTS_GAME_LINE_GROUPS, SPORTS_GENERIC_STAT, ESPORTS_CATEGORY_TOKENS, ESPORTS_TITLE_PATTERN, SERIES_SCOPE_PATTERN, SPORTS_PERIOD_ORDER, FIRST_N_INNINGS_PATTERN, SPORTS_MARKET_TYPE_ORDER, YES_NO_LABELS, LINE_MARKET_TYPES, PLAYER_PROP_COUNT_PATTERN, REG_TIME_TITLE_PATTERN, toTrimmedString, resolveSportsMarketAggKey, sanitizeFamilyValue, stripLineValueFromQuestion, SPORTS_PERIOD_FAMILY_ORDER, getSportsPeriodOrderIndex, getSportsMarketTypeOrderIndex, resolveSportsPeriodFamily, normalizeSportsPeriod, normalizeSportsMarketType, normalizeSportsMarketCategory, normalizeSportsMarketGroup, resolveFallbackSportsMarketCategory, resolveSportsStatToken, resolveMarketSectionTabKey, SPORTS_PERIOD_FAMILY_ALLOWED_SPORTS, PERIOD_N_FAMILY_PATTERN, isPeriodFamilyAllowedForSport, resolveEffectiveMarketSectionTabKey, resolveVisibleSportsSectionTabs, resolveSportsSectionFilters, hasTeamTitledOutcomes, isClusterRelation, isDecomposedLeg, singleEnumeratesLegs, dropDecomposedLegsMergedIntoSingle, resolveSportsSectionMarkets, resolveSportsMarketCardVariant, isBinarySportsMoneylineMarket, AGGKEY_LINE_TOKEN_PATTERN, resolveSportsLineFamilyKey, resolveSpreadFamilyKey, SPREAD_KEY_LEG_PATTERN, resolveSpreadKeyLeg, isSpreadUnderdogLeg, resolveSpreadAnchorToken, SPREAD_NON_TEAM_TITLE_PATTERN, isSpreadTeamTitle, resolveSpreadOutcomeTeamNames, resolveCombinedMoneylineLegLabel, normalizeSportsSubtypeToken, SPORTS_LEG_GROUPABLE_GROUPS, resolveDisplayGroupFamilyKey, resolveMarketOwnCardKey, LEG_GROUP_KEY_MARKER, TOTAL_STAT_UNITS, resolveTotalStatUnit, SPORTS_LEG_TITLE_OVERRIDES, SPORTS_LEG_TITLE_SMALL_WORDS, formatSportsLegTitle, resolveDisplayGroupTitle, sortMarketsByLineValue, buildSportsMarketDisplayGroups, groupSportsMarketsByPeriod, resolveSelectedSportsLineValue, collectVenueNames, resolveTotalGroupVolume, resolveSportsExpandedMarkets, resolveSportsExpandedMarketsVolume, resolveHighestVolumeIndex, resolveSportsCombinedLegs, resolveSlideKind, aggregateSportsLineStops, escapeRegExp, resolveSportsLadderTitle, buildSportsSlideFromGroup, formatSportsPeriodGrammarLabel, resolveSportsCategoryTokens, isNonStandardSportsLikeEvent, mergeSportsSectionMarketsIntoEvent;
|
|
31957
|
+
var SPORTS_MARKET_TYPE_KEYS, SPORTS_PERIOD_KEYS, SPORTS_PERIOD_GRAMMAR_PATTERN, SPORTS_MARKET_CATEGORY_KEYS, SPORTS_MARKET_GROUP_KEYS, SPORTS_PERIOD_KEY_SET, SPORTS_MARKET_TYPE_KEY_SET, SPORTS_MARKET_CATEGORY_KEY_SET, SPORTS_MARKET_GROUP_KEY_SET, SPORTS_LEGACY_PROP_CATEGORY_KEY_SET, SPORTS_GAME_LINE_GROUPS, SPORTS_GENERIC_STAT, ESPORTS_CATEGORY_TOKENS, ESPORTS_TITLE_PATTERN, SERIES_SCOPE_PATTERN, SPORTS_PERIOD_ORDER, FIRST_N_INNINGS_PATTERN, SPORTS_MARKET_TYPE_ORDER, YES_NO_LABELS, LINE_MARKET_TYPES, PLAYER_PROP_COUNT_PATTERN, REG_TIME_TITLE_PATTERN, toTrimmedString, resolveSportsMarketAggKey, sanitizeFamilyValue, stripLineValueFromQuestion, SPORTS_PERIOD_FAMILY_ORDER, getSportsPeriodOrderIndex, getSportsMarketTypeOrderIndex, resolveSportsPeriodFamily, normalizeSportsPeriod, normalizeSportsMarketType, normalizeSportsMarketCategory, normalizeSportsMarketGroup, resolveFallbackSportsMarketCategory, resolveSportsStatToken, resolveMarketSectionTabKey, SPORTS_PERIOD_FAMILY_ALLOWED_SPORTS, PERIOD_N_FAMILY_PATTERN, isPeriodFamilyAllowedForSport, resolveEffectiveMarketSectionTabKey, resolveVisibleSportsSectionTabs, resolveSportsSectionFilters, hasTeamTitledOutcomes, isClusterRelation, isDecomposedLeg, singleEnumeratesLegs, dropDecomposedLegsMergedIntoSingle, resolveSportsSectionMarkets, resolveSportsMarketCardVariant, isBinarySportsMoneylineMarket, AGGKEY_LINE_TOKEN_PATTERN, resolveSportsLineFamilyKey, resolveSpreadFamilyKey, SPREAD_KEY_LEG_PATTERN, resolveSpreadKeyLeg, isSpreadUnderdogLeg, resolveSpreadAnchorToken, SPREAD_NON_TEAM_TITLE_PATTERN, isSpreadTeamTitle, resolveSpreadOutcomeTeamNames, resolveCombinedMoneylineLegLabel, normalizeSportsSubtypeToken, SPORTS_LEG_GROUPABLE_GROUPS, DRAW_OUTCOME_TITLE_PATTERN, isThreeWayMoneylineHub, resolveDisplayGroupFamilyKey, resolveMarketOwnCardKey, LEG_GROUP_KEY_MARKER, TOTAL_STAT_UNITS, resolveTotalStatUnit, SPORTS_LEG_TITLE_OVERRIDES, SPORTS_LEG_TITLE_SMALL_WORDS, formatSportsLegTitle, resolveDisplayGroupTitle, sortMarketsByLineValue, buildSportsMarketDisplayGroups, groupSportsMarketsByPeriod, resolveSelectedSportsLineValue, collectVenueNames, resolveTotalGroupVolume, resolveSportsExpandedMarkets, resolveSportsExpandedMarketsVolume, resolveHighestVolumeIndex, resolveSportsCombinedLegs, resolveSlideKind, aggregateSportsLineStops, escapeRegExp, resolveSportsLadderTitle, buildSportsSlideFromGroup, formatSportsPeriodGrammarLabel, resolveSportsCategoryTokens, isNonStandardSportsLikeEvent, mergeSportsSectionMarketsIntoEvent;
|
|
32004
31958
|
var init_sports_event_market_utils = __esm({
|
|
32005
31959
|
"src/pages/event-market/sports-event-market.utils.ts"() {
|
|
32006
31960
|
"use strict";
|
|
@@ -32411,6 +32365,7 @@ var init_sports_event_market_utils = __esm({
|
|
|
32411
32365
|
}
|
|
32412
32366
|
if (tab.kind !== "game_lines") return filteredSectionMarkets;
|
|
32413
32367
|
const dedupeEventMarketsOfType = (type) => {
|
|
32368
|
+
var _a, _b, _c, _d;
|
|
32414
32369
|
const dedupedMarkets = [];
|
|
32415
32370
|
const keptIndexByKey = /* @__PURE__ */ new Map();
|
|
32416
32371
|
for (const market of eventMarkets) {
|
|
@@ -32421,6 +32376,10 @@ var init_sports_event_market_utils = __esm({
|
|
|
32421
32376
|
const keptIndex = keptIndexByKey.get(key);
|
|
32422
32377
|
if (keptIndex !== void 0) {
|
|
32423
32378
|
const kept = dedupedMarkets[keptIndex];
|
|
32379
|
+
if (hasTeamTitledOutcomes(kept) && hasTeamTitledOutcomes(market) && ((_b = (_a = kept.venueMarketOutcomes) == null ? void 0 : _a.length) != null ? _b : 0) !== ((_d = (_c = market.venueMarketOutcomes) == null ? void 0 : _c.length) != null ? _d : 0)) {
|
|
32380
|
+
dedupedMarkets.push(market);
|
|
32381
|
+
continue;
|
|
32382
|
+
}
|
|
32424
32383
|
if (!hasTeamTitledOutcomes(kept) && hasTeamTitledOutcomes(market)) {
|
|
32425
32384
|
dedupedMarkets[keptIndex] = market;
|
|
32426
32385
|
}
|
|
@@ -32550,6 +32509,12 @@ var init_sports_event_market_utils = __esm({
|
|
|
32550
32509
|
"specials",
|
|
32551
32510
|
"completion"
|
|
32552
32511
|
]);
|
|
32512
|
+
DRAW_OUTCOME_TITLE_PATTERN = /\b(draw|tie)\b/i;
|
|
32513
|
+
isThreeWayMoneylineHub = (market) => {
|
|
32514
|
+
var _a, _b;
|
|
32515
|
+
const outcomes = (_a = market.venueMarketOutcomes) != null ? _a : [];
|
|
32516
|
+
return normalizeSportsMarketType(market.sportsMarketType) === "moneyline" && normalizeSportsMarketGroup(market.marketGroup) === "game_lines" && normalizeSportsPeriod(market.period) === "full" && outcomes.length === 3 && outcomes.filter((outcome) => DRAW_OUTCOME_TITLE_PATTERN.test(toTrimmedString(outcome.title))).length === 1 && ((_b = market.matchedVenueMarkets) != null ? _b : []).length > 0;
|
|
32517
|
+
};
|
|
32553
32518
|
resolveDisplayGroupFamilyKey = (market, sport) => {
|
|
32554
32519
|
var _a, _b, _c;
|
|
32555
32520
|
const normalizedQuestion = sanitizeFamilyValue(toTrimmedString(market.question));
|
|
@@ -32559,7 +32524,7 @@ var init_sports_event_market_utils = __esm({
|
|
|
32559
32524
|
const sportsMarketType = (_b = normalizeSportsMarketType(market.sportsMarketType)) != null ? _b : "other";
|
|
32560
32525
|
const period = normalizeSportsPeriod(market.period);
|
|
32561
32526
|
const marketCategory = (_c = normalizeSportsMarketCategory(market.marketCategory)) != null ? _c : "other";
|
|
32562
|
-
if (isBinarySportsMoneylineMarket(market)) {
|
|
32527
|
+
if (isBinarySportsMoneylineMarket(market) || isThreeWayMoneylineHub(market)) {
|
|
32563
32528
|
return `${period}|moneyline|${marketCategory}`;
|
|
32564
32529
|
}
|
|
32565
32530
|
if (sportsMarketType === "to_advance") {
|
|
@@ -32623,7 +32588,7 @@ var init_sports_event_market_utils = __esm({
|
|
|
32623
32588
|
resolveDisplayGroupTitle = (market, groupMarkets = [market], sport, isCombinedLegGroup = false) => {
|
|
32624
32589
|
const sportsMarketType = normalizeSportsMarketType(market.sportsMarketType);
|
|
32625
32590
|
const question = toTrimmedString(market.question);
|
|
32626
|
-
if (isBinarySportsMoneylineMarket(market)) return "Moneyline";
|
|
32591
|
+
if (isBinarySportsMoneylineMarket(market) || isThreeWayMoneylineHub(market)) return "Moneyline";
|
|
32627
32592
|
if (sportsMarketType === "to_advance") return "Team to Advance";
|
|
32628
32593
|
if (sportsMarketType === "spread") return "Spreads";
|
|
32629
32594
|
if (isCombinedLegGroup) {
|
package/dist/index.mjs
CHANGED
|
@@ -16,13 +16,13 @@ import {
|
|
|
16
16
|
buildAggTxExplorerHref,
|
|
17
17
|
formatShareAmount,
|
|
18
18
|
useHomePageModals
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-YBMDEGTJ.mjs";
|
|
20
20
|
import {
|
|
21
21
|
EventList,
|
|
22
22
|
EventListItem,
|
|
23
23
|
EventListItemV2,
|
|
24
24
|
EventListVenueStrip
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-LIB6TLLV.mjs";
|
|
26
26
|
import {
|
|
27
27
|
CARD_NETWORK_OPTIONS,
|
|
28
28
|
DepositModal,
|
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
EventOpenOrdersCard,
|
|
41
41
|
formatRecurringCountdown,
|
|
42
42
|
useEventOpenOrders
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-R7ARCUYW.mjs";
|
|
44
44
|
import {
|
|
45
45
|
EventListItemDetails,
|
|
46
46
|
MarketDetails,
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
orderbookRowLimitDefault,
|
|
56
56
|
resolveEventDetailsSyncKey,
|
|
57
57
|
useCenterOrderbookSpread
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-LTFRGJPL.mjs";
|
|
59
59
|
import {
|
|
60
60
|
AggNotificationEventsProvider,
|
|
61
61
|
DEPOSIT_MODAL_OPEN_EVENT,
|