@agg-build/ui 4.2.0 → 4.7.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/README.md +25 -16
- package/dist/{chunk-DNPDXL2D.mjs → chunk-3RQCBGIK.mjs} +341 -105
- package/dist/{chunk-GNEFI4SO.mjs → chunk-C4GFVJ62.mjs} +725 -400
- package/dist/{chunk-UDBHAZJJ.mjs → chunk-EOLR7DHL.mjs} +568 -145
- package/dist/{chunk-6X6Y4INU.mjs → chunk-LXQ3U4X2.mjs} +2 -2
- package/dist/{chunk-QW7VFURU.mjs → chunk-RDBMHBR2.mjs} +67 -3
- package/dist/{chunk-WDCH4RRS.mjs → chunk-WYCSTAN7.mjs} +1 -1
- package/dist/{chunk-FTL25XKE.mjs → chunk-XN2NB2NP.mjs} +1 -1
- package/dist/events.js +1149 -661
- package/dist/events.mjs +6 -4
- package/dist/index.js +3320 -2291
- package/dist/index.mjs +12 -8
- package/dist/modals.js +9 -2
- package/dist/modals.mjs +3 -3
- package/dist/pages.js +2789 -1762
- package/dist/pages.mjs +8 -6
- package/dist/primitives.js +30 -3
- package/dist/primitives.mjs +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/trading.js +338 -102
- package/dist/trading.mjs +4 -4
- package/dist/types/events/index.d.mts +1 -0
- package/dist/types/events/index.d.ts +1 -0
- package/dist/types/events/item-details/event-list-item-details-market-selector.d.mts +4 -1
- package/dist/types/events/item-details/event-list-item-details-market-selector.d.ts +4 -1
- package/dist/types/events/item-details/event-list-item-details.types.d.mts +25 -1
- package/dist/types/events/item-details/event-list-item-details.types.d.ts +25 -1
- package/dist/types/events/item-details/index.d.mts +1 -1
- package/dist/types/events/item-details/index.d.ts +1 -1
- package/dist/types/events/list/event-list.constants.d.mts +3 -1
- package/dist/types/events/list/event-list.constants.d.ts +3 -1
- package/dist/types/events/list/event-list.types.d.mts +17 -0
- package/dist/types/events/list/event-list.types.d.ts +17 -0
- package/dist/types/events/list/event-list.utils.d.mts +4 -0
- package/dist/types/events/list/event-list.utils.d.ts +4 -0
- package/dist/types/events/list/index.d.mts +2 -2
- package/dist/types/events/list/index.d.ts +2 -2
- package/dist/types/events/market-details/index.d.mts +1 -1
- package/dist/types/events/market-details/index.d.ts +1 -1
- package/dist/types/events/market-details/market-details.types.d.mts +4 -0
- package/dist/types/events/market-details/market-details.types.d.ts +4 -0
- package/dist/types/events/shared/format-event-title.d.mts +9 -1
- package/dist/types/events/shared/format-event-title.d.ts +9 -1
- package/dist/types/events/shared/format-sports-event-time.d.mts +2 -0
- package/dist/types/events/shared/format-sports-event-time.d.ts +2 -0
- package/dist/types/events/shared/sports-live-score.d.mts +10 -0
- package/dist/types/events/shared/sports-live-score.d.ts +10 -0
- package/dist/types/pages/event-market/event-market.types.d.mts +4 -0
- package/dist/types/pages/event-market/event-market.types.d.ts +4 -0
- package/dist/types/pages/event-market/index.d.mts +1 -0
- package/dist/types/pages/event-market/index.d.ts +1 -0
- package/dist/types/pages/home/event-discovery-url-state.d.mts +35 -0
- package/dist/types/pages/home/event-discovery-url-state.d.ts +35 -0
- package/dist/types/pages/user-profile/components/available-balance-card.d.mts +5 -0
- package/dist/types/pages/user-profile/components/available-balance-card.d.ts +5 -0
- package/dist/types/pages/user-profile/components/open-order-row.d.mts +1 -0
- package/dist/types/pages/user-profile/components/open-order-row.d.ts +1 -0
- package/dist/types/pages/user-profile/components/positions-activity.d.mts +1 -1
- package/dist/types/pages/user-profile/components/positions-activity.d.ts +1 -1
- package/dist/types/pages/user-profile/user-profile.types.d.mts +1 -1
- package/dist/types/pages/user-profile/user-profile.types.d.ts +1 -1
- package/dist/types/trading/place-order/index.d.mts +1 -1
- package/dist/types/trading/place-order/index.d.ts +1 -1
- package/dist/types/trading/place-order/index.place-order.execution-steps.d.mts +13 -1
- package/dist/types/trading/place-order/index.place-order.execution-steps.d.ts +13 -1
- package/dist/types/trading/place-order/index.place-order.execution-view.d.mts +2 -1
- package/dist/types/trading/place-order/index.place-order.execution-view.d.ts +2 -1
- package/dist/types/trading/place-order/index.place-order.types.d.mts +9 -0
- package/dist/types/trading/place-order/index.place-order.types.d.ts +9 -0
- package/dist/types/trading/place-order/index.place-order.utils.d.mts +6 -0
- package/dist/types/trading/place-order/index.place-order.utils.d.ts +6 -0
- package/package.json +3 -3
- /package/dist/{chunk-KHHFHXXD.mjs → chunk-JH4B3ZHQ.mjs} +0 -0
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
resolveUnifiedOrderBookEntries,
|
|
25
25
|
sortOutcomeSelectorOutcomes,
|
|
26
26
|
useEventTradingContext
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-WYCSTAN7.mjs";
|
|
28
28
|
import {
|
|
29
29
|
AutocompleteSelect,
|
|
30
30
|
Badge,
|
|
@@ -33,6 +33,7 @@ import {
|
|
|
33
33
|
CloseIcon,
|
|
34
34
|
Icon,
|
|
35
35
|
LineChart,
|
|
36
|
+
LoadingIcon,
|
|
36
37
|
MOBILE_TABS_MEDIA_QUERY,
|
|
37
38
|
MarketDetailsOderbookSkeleton,
|
|
38
39
|
Modal,
|
|
@@ -75,12 +76,14 @@ import {
|
|
|
75
76
|
resolveYesOutcome,
|
|
76
77
|
sortCategoriesForNavigation,
|
|
77
78
|
sortOutcomes,
|
|
78
|
-
splitEventsByLifecycle
|
|
79
|
-
|
|
79
|
+
splitEventsByLifecycle,
|
|
80
|
+
validateSubcategoryPath
|
|
81
|
+
} from "./chunk-RDBMHBR2.mjs";
|
|
80
82
|
|
|
81
83
|
// src/events/item/index.tsx
|
|
82
84
|
import {
|
|
83
85
|
optimizedImageUrl,
|
|
86
|
+
resolveRecurringCryptoIdentity,
|
|
84
87
|
sortVenues,
|
|
85
88
|
useLabels,
|
|
86
89
|
useMidpoints,
|
|
@@ -454,13 +457,16 @@ var EventListItemContent = ({
|
|
|
454
457
|
const config = useSdkUiConfig();
|
|
455
458
|
const labels = useLabels();
|
|
456
459
|
const allVenueMarkets = useMemo(() => event.venueMarkets, [event.venueMarkets]);
|
|
460
|
+
const recurringCryptoIdentity = resolveRecurringCryptoIdentity(event);
|
|
457
461
|
const eventHeading = resolveEventHeading({
|
|
458
462
|
title: event.title,
|
|
459
463
|
categories: event.categories,
|
|
460
464
|
structureType: event.structureType,
|
|
461
465
|
gameStartTime: event.gameStartTime,
|
|
462
466
|
endDate: event.endDate,
|
|
463
|
-
venueMarkets: event.venueMarkets
|
|
467
|
+
venueMarkets: event.venueMarkets,
|
|
468
|
+
recurringCryptoWindowStart: recurringCryptoIdentity == null ? void 0 : recurringCryptoIdentity.windowStart,
|
|
469
|
+
recurringCryptoDuration: recurringCryptoIdentity == null ? void 0 : recurringCryptoIdentity.duration
|
|
464
470
|
});
|
|
465
471
|
const resolvedTitle = eventHeading.title;
|
|
466
472
|
const resolvedTimestamp = eventHeading.timestampLabel;
|
|
@@ -517,8 +523,14 @@ var EventListItemContent = ({
|
|
|
517
523
|
enabled: !shouldUseSharedMidpoints && midpointVenueMarketIds.length > 0
|
|
518
524
|
});
|
|
519
525
|
const { prices: displayMidpointsByOutcomeId, isLoading: isOutcomeMidpointsLoading } = useMidpoints(shouldUseSharedMidpoints ? [] : resolvedOutcomeMarkets);
|
|
520
|
-
const resolvedMidpointRows =
|
|
521
|
-
|
|
526
|
+
const resolvedMidpointRows = useMemo(
|
|
527
|
+
() => shouldUseSharedMidpoints ? sharedMidpointRows != null ? sharedMidpointRows : [] : fetchedMidpointRows,
|
|
528
|
+
[fetchedMidpointRows, sharedMidpointRows, shouldUseSharedMidpoints]
|
|
529
|
+
);
|
|
530
|
+
const resolvedDisplayMidpointsByOutcomeId = useMemo(
|
|
531
|
+
() => shouldUseSharedMidpoints ? midpointPrices != null ? midpointPrices : /* @__PURE__ */ new Map() : displayMidpointsByOutcomeId,
|
|
532
|
+
[displayMidpointsByOutcomeId, midpointPrices, shouldUseSharedMidpoints]
|
|
533
|
+
);
|
|
522
534
|
const isAwaitingMidpoints = midpointsLoading != null ? midpointsLoading : isOutcomeMidpointsLoading || midpointVenueMarketIds.length > 0 && isVenueMarketMidpointsLoading;
|
|
523
535
|
const displayPriceByOutcomeId = useMemo(() => {
|
|
524
536
|
const priceByOutcomeId = new Map(resolvedDisplayMidpointsByOutcomeId);
|
|
@@ -1413,16 +1425,161 @@ var mergeVenueOutcomeOrderbooks = ({
|
|
|
1413
1425
|
};
|
|
1414
1426
|
};
|
|
1415
1427
|
|
|
1416
|
-
// src/events/
|
|
1428
|
+
// src/events/shared/sports-live-score.tsx
|
|
1417
1429
|
import { useLabels as useLabels2 } from "@agg-build/hooks";
|
|
1418
|
-
import { useMemo as useMemo2 } from "react";
|
|
1419
1430
|
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
1431
|
+
var SportsLiveScore = ({
|
|
1432
|
+
state,
|
|
1433
|
+
variant = "detail",
|
|
1434
|
+
className
|
|
1435
|
+
}) => {
|
|
1436
|
+
const labels = useLabels2();
|
|
1437
|
+
if (!state || state.participants.length !== 2) return null;
|
|
1438
|
+
const [firstParticipant, secondParticipant] = state.participants;
|
|
1439
|
+
const firstScore = firstParticipant == null ? void 0 : firstParticipant.score;
|
|
1440
|
+
const secondScore = secondParticipant == null ? void 0 : secondParticipant.score;
|
|
1441
|
+
if (firstScore == null || secondScore == null) return null;
|
|
1442
|
+
const statusLabels = {
|
|
1443
|
+
scheduled: labels.sportsLive.scheduled,
|
|
1444
|
+
live: labels.sportsLive.live,
|
|
1445
|
+
paused: labels.sportsLive.paused,
|
|
1446
|
+
finished: labels.sportsLive.finished,
|
|
1447
|
+
cancelled: labels.sportsLive.cancelled,
|
|
1448
|
+
postponed: labels.sportsLive.postponed,
|
|
1449
|
+
unknown: labels.sportsLive.unknown
|
|
1450
|
+
};
|
|
1451
|
+
const statusText = [state.period, state.clock].filter(Boolean).join(" \xB7 ") || statusLabels[state.status];
|
|
1452
|
+
const isLiveIndicatorVisible = state.status === "live" || state.status === "paused";
|
|
1453
|
+
const isCard = variant === "card";
|
|
1454
|
+
const renderParticipant = (participant) => {
|
|
1455
|
+
var _a;
|
|
1456
|
+
return /* @__PURE__ */ jsxs2(
|
|
1457
|
+
"div",
|
|
1458
|
+
{
|
|
1459
|
+
className: cn("flex min-w-0 flex-col items-center", isCard ? "gap-1.5" : "gap-3"),
|
|
1460
|
+
title: participant.name,
|
|
1461
|
+
children: [
|
|
1462
|
+
/* @__PURE__ */ jsx2(
|
|
1463
|
+
RemoteImage,
|
|
1464
|
+
{
|
|
1465
|
+
src: participant.imageUrl,
|
|
1466
|
+
alt: "",
|
|
1467
|
+
width: isCard ? 28 : 44,
|
|
1468
|
+
height: isCard ? 28 : 44,
|
|
1469
|
+
classNames: {
|
|
1470
|
+
root: cn(
|
|
1471
|
+
"shrink-0 border border-agg-separator bg-agg-secondary-hover",
|
|
1472
|
+
isCard ? "size-7 rounded-agg-md" : "size-11 rounded-agg-lg"
|
|
1473
|
+
),
|
|
1474
|
+
image: "object-contain",
|
|
1475
|
+
placeholder: "text-agg-muted-foreground"
|
|
1476
|
+
}
|
|
1477
|
+
}
|
|
1478
|
+
),
|
|
1479
|
+
/* @__PURE__ */ jsx2(
|
|
1480
|
+
Typography,
|
|
1481
|
+
{
|
|
1482
|
+
variant: "body",
|
|
1483
|
+
className: cn(
|
|
1484
|
+
"max-w-full truncate text-center text-agg-foreground",
|
|
1485
|
+
isCard ? "text-agg-xs leading-agg-4" : "text-agg-base leading-agg-6"
|
|
1486
|
+
),
|
|
1487
|
+
children: (_a = participant.shortName) != null ? _a : participant.name
|
|
1488
|
+
}
|
|
1489
|
+
)
|
|
1490
|
+
]
|
|
1491
|
+
}
|
|
1492
|
+
);
|
|
1493
|
+
};
|
|
1494
|
+
return /* @__PURE__ */ jsxs2(
|
|
1495
|
+
"div",
|
|
1496
|
+
{
|
|
1497
|
+
role: "status",
|
|
1498
|
+
"aria-label": labels.sportsLive.scoreAria(
|
|
1499
|
+
firstParticipant.name,
|
|
1500
|
+
firstScore,
|
|
1501
|
+
secondParticipant.name,
|
|
1502
|
+
secondScore,
|
|
1503
|
+
statusText
|
|
1504
|
+
),
|
|
1505
|
+
className: cn(
|
|
1506
|
+
"agg-sports-live-score grid w-full grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center",
|
|
1507
|
+
isCard ? "gap-3 py-1" : "gap-6 md:gap-10",
|
|
1508
|
+
className
|
|
1509
|
+
),
|
|
1510
|
+
children: [
|
|
1511
|
+
renderParticipant(firstParticipant),
|
|
1512
|
+
/* @__PURE__ */ jsxs2("div", { className: cn("flex flex-col items-center", isCard ? "gap-1" : "gap-3"), children: [
|
|
1513
|
+
/* @__PURE__ */ jsxs2("div", { className: cn("flex items-center", isCard ? "gap-2" : "gap-3"), children: [
|
|
1514
|
+
/* @__PURE__ */ jsx2(
|
|
1515
|
+
Typography,
|
|
1516
|
+
{
|
|
1517
|
+
variant: "body-strong",
|
|
1518
|
+
className: cn(
|
|
1519
|
+
"font-agg-bold tabular-nums text-agg-foreground",
|
|
1520
|
+
isCard ? "text-agg-xl leading-agg-7" : "text-agg-3xl leading-agg-9"
|
|
1521
|
+
),
|
|
1522
|
+
children: firstScore
|
|
1523
|
+
}
|
|
1524
|
+
),
|
|
1525
|
+
/* @__PURE__ */ jsx2(
|
|
1526
|
+
"span",
|
|
1527
|
+
{
|
|
1528
|
+
"aria-hidden": "true",
|
|
1529
|
+
className: cn("shrink-0 bg-agg-separator", isCard ? "h-0.5 w-2" : "h-0.5 w-3")
|
|
1530
|
+
}
|
|
1531
|
+
),
|
|
1532
|
+
/* @__PURE__ */ jsx2(
|
|
1533
|
+
Typography,
|
|
1534
|
+
{
|
|
1535
|
+
variant: "body-strong",
|
|
1536
|
+
className: cn(
|
|
1537
|
+
"font-agg-bold tabular-nums text-agg-foreground",
|
|
1538
|
+
isCard ? "text-agg-xl leading-agg-7" : "text-agg-3xl leading-agg-9"
|
|
1539
|
+
),
|
|
1540
|
+
children: secondScore
|
|
1541
|
+
}
|
|
1542
|
+
)
|
|
1543
|
+
] }),
|
|
1544
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex min-w-0 items-center gap-2 text-agg-primary", children: [
|
|
1545
|
+
isLiveIndicatorVisible ? /* @__PURE__ */ jsx2(
|
|
1546
|
+
"span",
|
|
1547
|
+
{
|
|
1548
|
+
"aria-hidden": "true",
|
|
1549
|
+
className: "flex size-3.5 shrink-0 items-center justify-center rounded-agg-full bg-agg-primary/10",
|
|
1550
|
+
children: /* @__PURE__ */ jsx2("span", { className: "size-1.5 rounded-agg-full bg-agg-primary" })
|
|
1551
|
+
}
|
|
1552
|
+
) : null,
|
|
1553
|
+
/* @__PURE__ */ jsx2(
|
|
1554
|
+
Typography,
|
|
1555
|
+
{
|
|
1556
|
+
variant: "label-strong",
|
|
1557
|
+
className: cn(
|
|
1558
|
+
"max-w-full truncate uppercase text-agg-primary",
|
|
1559
|
+
isCard ? "text-agg-2xs leading-agg-4" : "text-agg-sm leading-agg-5"
|
|
1560
|
+
),
|
|
1561
|
+
children: statusText
|
|
1562
|
+
}
|
|
1563
|
+
)
|
|
1564
|
+
] })
|
|
1565
|
+
] }),
|
|
1566
|
+
renderParticipant(secondParticipant)
|
|
1567
|
+
]
|
|
1568
|
+
}
|
|
1569
|
+
);
|
|
1570
|
+
};
|
|
1571
|
+
SportsLiveScore.displayName = "SportsLiveScore";
|
|
1572
|
+
|
|
1573
|
+
// src/events/item-details/settlement-summary.tsx
|
|
1574
|
+
import { useLabels as useLabels3 } from "@agg-build/hooks";
|
|
1575
|
+
import { useMemo as useMemo2 } from "react";
|
|
1576
|
+
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1420
1577
|
var SettlementSummary = ({
|
|
1421
1578
|
settlementDiff,
|
|
1422
1579
|
settlementSectionId = SETTLEMENT_SECTION_ID,
|
|
1423
1580
|
className
|
|
1424
1581
|
}) => {
|
|
1425
|
-
const labels =
|
|
1582
|
+
const labels = useLabels3();
|
|
1426
1583
|
const settlementDifferences = useMemo2(
|
|
1427
1584
|
() => prepareSettlementDifferences(settlementDiff == null ? void 0 : settlementDiff.differences),
|
|
1428
1585
|
[settlementDiff == null ? void 0 : settlementDiff.differences]
|
|
@@ -1436,7 +1593,7 @@ var SettlementSummary = ({
|
|
|
1436
1593
|
if (!target) return;
|
|
1437
1594
|
target.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
1438
1595
|
};
|
|
1439
|
-
const actionButton = /* @__PURE__ */
|
|
1596
|
+
const actionButton = /* @__PURE__ */ jsxs3(
|
|
1440
1597
|
"button",
|
|
1441
1598
|
{
|
|
1442
1599
|
type: "button",
|
|
@@ -1449,8 +1606,8 @@ var SettlementSummary = ({
|
|
|
1449
1606
|
"aria-controls": settlementSectionId,
|
|
1450
1607
|
onClick: handleReadFullDetails,
|
|
1451
1608
|
children: [
|
|
1452
|
-
/* @__PURE__ */
|
|
1453
|
-
/* @__PURE__ */
|
|
1609
|
+
/* @__PURE__ */ jsx3("span", { children: labels.settlementSummary.readFullDetails }),
|
|
1610
|
+
/* @__PURE__ */ jsx3(
|
|
1454
1611
|
"i",
|
|
1455
1612
|
{
|
|
1456
1613
|
className: "fi fi-rr-arrow-small-down size-3.5!",
|
|
@@ -1463,7 +1620,7 @@ var SettlementSummary = ({
|
|
|
1463
1620
|
);
|
|
1464
1621
|
const visibleDifferences = settlementDifferences.slice(0, 2);
|
|
1465
1622
|
const hiddenDifferenceCount = settlementDifferences.length - visibleDifferences.length;
|
|
1466
|
-
return /* @__PURE__ */
|
|
1623
|
+
return /* @__PURE__ */ jsxs3(
|
|
1467
1624
|
"div",
|
|
1468
1625
|
{
|
|
1469
1626
|
className: cn(
|
|
@@ -1471,18 +1628,18 @@ var SettlementSummary = ({
|
|
|
1471
1628
|
className
|
|
1472
1629
|
),
|
|
1473
1630
|
children: [
|
|
1474
|
-
/* @__PURE__ */
|
|
1475
|
-
/* @__PURE__ */
|
|
1476
|
-
/* @__PURE__ */
|
|
1477
|
-
/* @__PURE__ */
|
|
1631
|
+
/* @__PURE__ */ jsxs3("div", { className: "flex min-w-[240px] flex-1 flex-wrap items-center gap-x-5 gap-y-3", children: [
|
|
1632
|
+
/* @__PURE__ */ jsxs3("div", { className: "agg-settlement-summary-heading flex shrink-0 items-center gap-2", children: [
|
|
1633
|
+
/* @__PURE__ */ jsx3("p", { className: "text-agg-sm font-agg-normal leading-agg-5 text-agg-foreground", children: labels.settlementSummary.title }),
|
|
1634
|
+
/* @__PURE__ */ jsx3("span", { className: "flex size-4 shrink-0 items-center justify-center rounded-agg-full bg-agg-primary text-[10px] font-agg-bold leading-[14px] text-agg-on-primary", children: settlementDifferences.length })
|
|
1478
1635
|
] }),
|
|
1479
|
-
/* @__PURE__ */
|
|
1480
|
-
visibleDifferences.map((difference) => /* @__PURE__ */
|
|
1636
|
+
/* @__PURE__ */ jsxs3("div", { className: "agg-settlement-summary-pills flex min-w-[240px] flex-1 flex-wrap items-center gap-2", children: [
|
|
1637
|
+
visibleDifferences.map((difference) => /* @__PURE__ */ jsxs3(
|
|
1481
1638
|
"span",
|
|
1482
1639
|
{
|
|
1483
1640
|
className: "flex h-6 max-w-full shrink-0 items-center gap-2 rounded-agg-full bg-agg-secondary-hover px-3 py-1 text-agg-xs font-agg-normal leading-agg-4 text-agg-foreground sm:max-w-[220px]",
|
|
1484
1641
|
children: [
|
|
1485
|
-
/* @__PURE__ */
|
|
1642
|
+
/* @__PURE__ */ jsx3(
|
|
1486
1643
|
"i",
|
|
1487
1644
|
{
|
|
1488
1645
|
className: cn(
|
|
@@ -1493,12 +1650,12 @@ var SettlementSummary = ({
|
|
|
1493
1650
|
"aria-hidden": "true"
|
|
1494
1651
|
}
|
|
1495
1652
|
),
|
|
1496
|
-
/* @__PURE__ */
|
|
1653
|
+
/* @__PURE__ */ jsx3("span", { className: "min-w-0 truncate", children: difference.title })
|
|
1497
1654
|
]
|
|
1498
1655
|
},
|
|
1499
1656
|
difference.canonicalKey
|
|
1500
1657
|
)),
|
|
1501
|
-
hiddenDifferenceCount > 0 ? /* @__PURE__ */
|
|
1658
|
+
hiddenDifferenceCount > 0 ? /* @__PURE__ */ jsxs3("span", { className: "flex h-6 shrink-0 items-center rounded-agg-full bg-agg-secondary-hover px-3 py-1 text-agg-xs font-agg-normal leading-agg-4 text-agg-foreground", children: [
|
|
1502
1659
|
"+",
|
|
1503
1660
|
hiddenDifferenceCount
|
|
1504
1661
|
] }) : null
|
|
@@ -1519,18 +1676,18 @@ import {
|
|
|
1519
1676
|
resolveEventTradingState,
|
|
1520
1677
|
resolveMarketTradingState,
|
|
1521
1678
|
useEventOrderbookData,
|
|
1522
|
-
useLabels as
|
|
1679
|
+
useLabels as useLabels6,
|
|
1523
1680
|
useLiveBestPrices,
|
|
1524
1681
|
useLiveOutcomePrices,
|
|
1525
1682
|
useMarketChart,
|
|
1526
1683
|
useRollingChartWindow,
|
|
1527
|
-
useSdkUiConfig as
|
|
1684
|
+
useSdkUiConfig as useSdkUiConfig3,
|
|
1528
1685
|
useVenueEvent as useVenueEvent2
|
|
1529
1686
|
} from "@agg-build/hooks";
|
|
1530
1687
|
import { useEffect as useEffect3, useMemo as useMemo5, useRef as useRef3, useState as useState3 } from "react";
|
|
1531
1688
|
|
|
1532
1689
|
// src/primitives/chart/chart-type-switch.tsx
|
|
1533
|
-
import { useLabels as
|
|
1690
|
+
import { useLabels as useLabels4 } from "@agg-build/hooks";
|
|
1534
1691
|
import { useMemo as useMemo3 } from "react";
|
|
1535
1692
|
|
|
1536
1693
|
// src/primitives/chart/chart-type-switch.constants.ts
|
|
@@ -1556,13 +1713,13 @@ var resolveChartTypeOptionIconName = (chartType) => {
|
|
|
1556
1713
|
};
|
|
1557
1714
|
|
|
1558
1715
|
// src/primitives/chart/chart-type-switch.tsx
|
|
1559
|
-
import { jsx as
|
|
1716
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
1560
1717
|
var ChartTypeSwitch = ({
|
|
1561
1718
|
value,
|
|
1562
1719
|
onValueChange,
|
|
1563
1720
|
className
|
|
1564
1721
|
}) => {
|
|
1565
|
-
const labels =
|
|
1722
|
+
const labels = useLabels4();
|
|
1566
1723
|
const options = useMemo3(
|
|
1567
1724
|
() => CHART_TYPE_SWITCH_OPTION_KEYS.map((chartType) => ({
|
|
1568
1725
|
value: chartType,
|
|
@@ -1592,7 +1749,7 @@ var ChartTypeSwitch = ({
|
|
|
1592
1749
|
}
|
|
1593
1750
|
onValueChange(nextOption.value);
|
|
1594
1751
|
};
|
|
1595
|
-
return /* @__PURE__ */
|
|
1752
|
+
return /* @__PURE__ */ jsx4(
|
|
1596
1753
|
"div",
|
|
1597
1754
|
{
|
|
1598
1755
|
className: cn("agg-chart-type-switch inline-flex items-center gap-2", className),
|
|
@@ -1600,7 +1757,7 @@ var ChartTypeSwitch = ({
|
|
|
1600
1757
|
"aria-label": labels.common.chartTypeSwitchAria,
|
|
1601
1758
|
children: options.map((option, index) => {
|
|
1602
1759
|
const isActive = option.value === value;
|
|
1603
|
-
return /* @__PURE__ */
|
|
1760
|
+
return /* @__PURE__ */ jsx4(
|
|
1604
1761
|
"button",
|
|
1605
1762
|
{
|
|
1606
1763
|
type: "button",
|
|
@@ -1627,7 +1784,7 @@ var ChartTypeSwitch = ({
|
|
|
1627
1784
|
onKeyDown: (event) => {
|
|
1628
1785
|
handleKeyDown(event, index);
|
|
1629
1786
|
},
|
|
1630
|
-
children: /* @__PURE__ */
|
|
1787
|
+
children: /* @__PURE__ */ jsx4(Icon, { name: option.iconName, color: "currentColor", className: "h-5 w-5" })
|
|
1631
1788
|
},
|
|
1632
1789
|
option.value
|
|
1633
1790
|
);
|
|
@@ -1702,15 +1859,14 @@ var filterChartVenueOutcomesByRenderableVenues = ({
|
|
|
1702
1859
|
};
|
|
1703
1860
|
|
|
1704
1861
|
// src/events/item-details/event-list-item-details-market-selector.tsx
|
|
1705
|
-
import { useLabels as
|
|
1862
|
+
import { useLabels as useLabels5, useSdkUiConfig as useSdkUiConfig2 } from "@agg-build/hooks";
|
|
1706
1863
|
import { useEffect as useEffect2, useLayoutEffect, useMemo as useMemo4, useRef as useRef2, useState as useState2 } from "react";
|
|
1707
|
-
import { jsx as
|
|
1864
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1708
1865
|
var MARKET_PILL_MAX_ROWS = 2;
|
|
1709
1866
|
var MARKET_PILL_FALLBACK_CONTAINER_WIDTH = 640;
|
|
1710
1867
|
var MARKET_PILL_FALLBACK_GAP = 8;
|
|
1711
1868
|
var MARKET_PILL_FALLBACK_WIDTH = 72;
|
|
1712
1869
|
var MARKET_PILL_FALLBACK_MORE_WIDTH = 88;
|
|
1713
|
-
var MARKET_PILL_MORE_LABEL = "More";
|
|
1714
1870
|
var MARKET_DROPDOWN_MAX_VISIBLE_OPTIONS = 6;
|
|
1715
1871
|
var MARKET_DROPDOWN_OPTION_HEIGHT = 48;
|
|
1716
1872
|
var MARKET_DROPDOWN_MAX_HEIGHT = MARKET_DROPDOWN_MAX_VISIBLE_OPTIONS * MARKET_DROPDOWN_OPTION_HEIGHT;
|
|
@@ -1795,11 +1951,17 @@ var resolveMarketPillLayout = ({
|
|
|
1795
1951
|
var EventListItemDetailsMarketSelector = ({
|
|
1796
1952
|
className,
|
|
1797
1953
|
options,
|
|
1954
|
+
browseOptions = options,
|
|
1798
1955
|
selectedValue,
|
|
1956
|
+
liveValue,
|
|
1957
|
+
alwaysShowMore = false,
|
|
1799
1958
|
onChange
|
|
1800
1959
|
}) => {
|
|
1801
1960
|
var _a;
|
|
1802
|
-
const labels =
|
|
1961
|
+
const labels = useLabels5();
|
|
1962
|
+
const {
|
|
1963
|
+
features: { enableAnimations }
|
|
1964
|
+
} = useSdkUiConfig2();
|
|
1803
1965
|
const containerRef = useRef2(null);
|
|
1804
1966
|
const measurementContainerRef = useRef2(null);
|
|
1805
1967
|
const moreButtonRef = useRef2(null);
|
|
@@ -1820,15 +1982,22 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
1820
1982
|
});
|
|
1821
1983
|
const selectedHiddenOption = useMemo4(() => {
|
|
1822
1984
|
var _a2;
|
|
1823
|
-
return (_a2 =
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1985
|
+
return (_a2 = browseOptions.find(
|
|
1986
|
+
(option) => option.value === selectedValue && !layout.visibleItems.some((visibleOption) => visibleOption.value === option.value)
|
|
1987
|
+
)) != null ? _a2 : null;
|
|
1988
|
+
}, [browseOptions, layout.visibleItems, selectedValue]);
|
|
1989
|
+
const hasSeparateBrowseOptions = browseOptions.length > options.length;
|
|
1990
|
+
const moreButtonLabel = hasSeparateBrowseOptions ? labels.eventItemDetails.moreMarkets : (_a = selectedHiddenOption == null ? void 0 : selectedHiddenOption.label) != null ? _a : labels.eventItemDetails.moreMarkets;
|
|
1991
|
+
const isMoreButtonSelected = !alwaysShowMore && selectedHiddenOption != null;
|
|
1992
|
+
const hasMoreButton = alwaysShowMore || layout.hiddenItems.length > 0 || hasSeparateBrowseOptions;
|
|
1993
|
+
const displayedOptions = alwaysShowMore ? options : layout.visibleItems;
|
|
1827
1994
|
const filteredOptions = useMemo4(() => {
|
|
1828
1995
|
const normalizedSearchValue = searchValue.trim().toLowerCase();
|
|
1829
|
-
if (!normalizedSearchValue) return
|
|
1830
|
-
return
|
|
1831
|
-
|
|
1996
|
+
if (!normalizedSearchValue) return browseOptions;
|
|
1997
|
+
return browseOptions.filter(
|
|
1998
|
+
(option) => option.label.toLowerCase().includes(normalizedSearchValue)
|
|
1999
|
+
);
|
|
2000
|
+
}, [browseOptions, searchValue]);
|
|
1832
2001
|
const lastMeasuredKeyRef = useRef2(null);
|
|
1833
2002
|
const measureFrameRef = useRef2(null);
|
|
1834
2003
|
useLayoutEffect(() => {
|
|
@@ -1944,7 +2113,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
1944
2113
|
};
|
|
1945
2114
|
}, [isDropdownOpen]);
|
|
1946
2115
|
useLayoutEffect(() => {
|
|
1947
|
-
if (!isDropdownOpen || isMobileViewport) return;
|
|
2116
|
+
if (!isDropdownOpen || isMobileViewport && !alwaysShowMore) return;
|
|
1948
2117
|
const updateDropdownPosition = () => {
|
|
1949
2118
|
const containerElement = containerRef.current;
|
|
1950
2119
|
const moreButtonElement = moreButtonRef.current;
|
|
@@ -1978,7 +2147,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
1978
2147
|
return () => {
|
|
1979
2148
|
resizeObserver.disconnect();
|
|
1980
2149
|
};
|
|
1981
|
-
}, [isDropdownOpen, isMobileViewport, moreButtonLabel]);
|
|
2150
|
+
}, [alwaysShowMore, isDropdownOpen, isMobileViewport, moreButtonLabel]);
|
|
1982
2151
|
useEffect2(() => {
|
|
1983
2152
|
if (!isDropdownOpen) return;
|
|
1984
2153
|
const handlePointerDown = (event) => {
|
|
@@ -2007,11 +2176,11 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2007
2176
|
onChange(marketId);
|
|
2008
2177
|
setIsDropdownOpen(false);
|
|
2009
2178
|
};
|
|
2010
|
-
if (isMobileViewport) {
|
|
2011
|
-
return /* @__PURE__ */
|
|
2179
|
+
if (isMobileViewport && !alwaysShowMore) {
|
|
2180
|
+
return /* @__PURE__ */ jsx5(
|
|
2012
2181
|
AutocompleteSelect,
|
|
2013
2182
|
{
|
|
2014
|
-
options,
|
|
2183
|
+
options: browseOptions,
|
|
2015
2184
|
value: selectedValue,
|
|
2016
2185
|
onChange,
|
|
2017
2186
|
placeholder: labels.eventItemDetails.marketSelectPlaceholder,
|
|
@@ -2022,15 +2191,17 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2022
2191
|
}
|
|
2023
2192
|
);
|
|
2024
2193
|
}
|
|
2025
|
-
return /* @__PURE__ */
|
|
2026
|
-
/* @__PURE__ */
|
|
2027
|
-
|
|
2194
|
+
return /* @__PURE__ */ jsxs4("div", { ref: containerRef, className: cn("agg-market-select relative w-full", className), children: [
|
|
2195
|
+
/* @__PURE__ */ jsxs4("div", { className: "agg-market-pill-list flex flex-wrap gap-2", children: [
|
|
2196
|
+
displayedOptions.map((option) => {
|
|
2028
2197
|
const isSelected = option.value === selectedValue;
|
|
2029
|
-
|
|
2198
|
+
const isLive = option.value === liveValue;
|
|
2199
|
+
return /* @__PURE__ */ jsxs4(
|
|
2030
2200
|
"button",
|
|
2031
2201
|
{
|
|
2032
2202
|
type: "button",
|
|
2033
2203
|
"aria-pressed": isSelected,
|
|
2204
|
+
"aria-label": isLive ? `${option.label}, ${labels.eventItemDetails.liveMarket}` : option.label,
|
|
2034
2205
|
className: cn(
|
|
2035
2206
|
"agg-market-pill inline-flex min-h-8 items-center justify-center rounded-agg-full border px-4 py-1.5 text-left text-agg-sm leading-agg-5 text-agg-foreground transition-colors",
|
|
2036
2207
|
"cursor-pointer hover:bg-agg-tertiary!",
|
|
@@ -2042,12 +2213,28 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2042
2213
|
eventToHandle.stopPropagation();
|
|
2043
2214
|
handleSelectMarket(option.value);
|
|
2044
2215
|
},
|
|
2045
|
-
children:
|
|
2216
|
+
children: [
|
|
2217
|
+
isLive ? /* @__PURE__ */ jsx5(
|
|
2218
|
+
"span",
|
|
2219
|
+
{
|
|
2220
|
+
"aria-hidden": "true",
|
|
2221
|
+
className: cn(
|
|
2222
|
+
"mr-2 size-1.5 shrink-0 rounded-full bg-agg-primary ring-4 ring-agg-primary/20",
|
|
2223
|
+
enableAnimations ? "animate-pulse motion-reduce:animate-none" : null
|
|
2224
|
+
)
|
|
2225
|
+
}
|
|
2226
|
+
) : null,
|
|
2227
|
+
/* @__PURE__ */ jsx5("span", { className: "truncate", children: option.label }),
|
|
2228
|
+
isLive ? /* @__PURE__ */ jsxs4("span", { className: "sr-only", children: [
|
|
2229
|
+
" ",
|
|
2230
|
+
labels.eventItemDetails.liveMarket
|
|
2231
|
+
] }) : null
|
|
2232
|
+
]
|
|
2046
2233
|
},
|
|
2047
2234
|
option.value
|
|
2048
2235
|
);
|
|
2049
2236
|
}),
|
|
2050
|
-
|
|
2237
|
+
hasMoreButton ? /* @__PURE__ */ jsxs4(
|
|
2051
2238
|
"button",
|
|
2052
2239
|
{
|
|
2053
2240
|
ref: moreButtonRef,
|
|
@@ -2068,8 +2255,8 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2068
2255
|
setIsDropdownOpen((previousValue) => !previousValue);
|
|
2069
2256
|
},
|
|
2070
2257
|
children: [
|
|
2071
|
-
/* @__PURE__ */
|
|
2072
|
-
/* @__PURE__ */
|
|
2258
|
+
/* @__PURE__ */ jsx5("span", { className: "truncate", children: moreButtonLabel }),
|
|
2259
|
+
/* @__PURE__ */ jsx5(
|
|
2073
2260
|
Icon,
|
|
2074
2261
|
{
|
|
2075
2262
|
name: isDropdownOpen ? "chevron-up" : "chevron-down",
|
|
@@ -2083,7 +2270,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2083
2270
|
}
|
|
2084
2271
|
) : null
|
|
2085
2272
|
] }),
|
|
2086
|
-
isDropdownOpen ? /* @__PURE__ */
|
|
2273
|
+
isDropdownOpen ? /* @__PURE__ */ jsxs4(
|
|
2087
2274
|
"div",
|
|
2088
2275
|
{
|
|
2089
2276
|
id: "agg-event-details-market-dropdown",
|
|
@@ -2100,9 +2287,9 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2100
2287
|
eventToHandle.stopPropagation();
|
|
2101
2288
|
},
|
|
2102
2289
|
children: [
|
|
2103
|
-
/* @__PURE__ */
|
|
2104
|
-
/* @__PURE__ */
|
|
2105
|
-
/* @__PURE__ */
|
|
2290
|
+
/* @__PURE__ */ jsxs4("div", { className: "border-b border-agg-separator", children: [
|
|
2291
|
+
/* @__PURE__ */ jsx5("label", { className: "sr-only", htmlFor: "agg-event-details-market-search", children: labels.eventItemDetails.marketSelectSearchPlaceholder }),
|
|
2292
|
+
/* @__PURE__ */ jsx5(
|
|
2106
2293
|
"input",
|
|
2107
2294
|
{
|
|
2108
2295
|
ref: dropdownInputRef,
|
|
@@ -2124,7 +2311,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2124
2311
|
}
|
|
2125
2312
|
)
|
|
2126
2313
|
] }),
|
|
2127
|
-
/* @__PURE__ */
|
|
2314
|
+
/* @__PURE__ */ jsx5(
|
|
2128
2315
|
"div",
|
|
2129
2316
|
{
|
|
2130
2317
|
role: "listbox",
|
|
@@ -2133,7 +2320,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2133
2320
|
style: { maxHeight: `${MARKET_DROPDOWN_MAX_HEIGHT}px` },
|
|
2134
2321
|
children: filteredOptions.length > 0 ? filteredOptions.map((option) => {
|
|
2135
2322
|
const isSelected = option.value === selectedValue;
|
|
2136
|
-
return /* @__PURE__ */
|
|
2323
|
+
return /* @__PURE__ */ jsxs4(
|
|
2137
2324
|
"button",
|
|
2138
2325
|
{
|
|
2139
2326
|
type: "button",
|
|
@@ -2152,25 +2339,25 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2152
2339
|
handleSelectMarket(option.value);
|
|
2153
2340
|
},
|
|
2154
2341
|
children: [
|
|
2155
|
-
isSelected ? /* @__PURE__ */
|
|
2342
|
+
isSelected ? /* @__PURE__ */ jsx5(
|
|
2156
2343
|
"span",
|
|
2157
2344
|
{
|
|
2158
2345
|
"aria-hidden": "true",
|
|
2159
2346
|
className: "absolute bottom-2 left-0 top-2 w-1 bg-agg-primary"
|
|
2160
2347
|
}
|
|
2161
2348
|
) : null,
|
|
2162
|
-
/* @__PURE__ */
|
|
2349
|
+
/* @__PURE__ */ jsx5("span", { className: "truncate", children: option.label })
|
|
2163
2350
|
]
|
|
2164
2351
|
},
|
|
2165
2352
|
option.value
|
|
2166
2353
|
);
|
|
2167
|
-
}) : /* @__PURE__ */
|
|
2354
|
+
}) : /* @__PURE__ */ jsx5("div", { className: "px-5 py-4 text-agg-sm leading-agg-5 text-agg-muted-foreground", children: labels.eventItemDetails.marketSelectEmpty })
|
|
2168
2355
|
}
|
|
2169
2356
|
)
|
|
2170
2357
|
]
|
|
2171
2358
|
}
|
|
2172
2359
|
) : null,
|
|
2173
|
-
/* @__PURE__ */
|
|
2360
|
+
/* @__PURE__ */ jsxs4(
|
|
2174
2361
|
"div",
|
|
2175
2362
|
{
|
|
2176
2363
|
ref: measurementContainerRef,
|
|
@@ -2179,7 +2366,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2179
2366
|
children: [
|
|
2180
2367
|
options.map((option) => {
|
|
2181
2368
|
const isSelected = option.value === selectedValue;
|
|
2182
|
-
return /* @__PURE__ */
|
|
2369
|
+
return /* @__PURE__ */ jsx5(
|
|
2183
2370
|
"button",
|
|
2184
2371
|
{
|
|
2185
2372
|
ref: (element) => {
|
|
@@ -2191,12 +2378,12 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2191
2378
|
"inline-flex min-h-8 items-center justify-center rounded-agg-full border px-4 py-1.5 text-agg-sm leading-agg-5",
|
|
2192
2379
|
isSelected ? "border-agg-primary bg-agg-secondary font-agg-bold" : "border-transparent bg-agg-secondary-hover font-agg-normal"
|
|
2193
2380
|
),
|
|
2194
|
-
children: /* @__PURE__ */
|
|
2381
|
+
children: /* @__PURE__ */ jsx5("span", { className: "truncate", children: option.label })
|
|
2195
2382
|
},
|
|
2196
2383
|
option.value
|
|
2197
2384
|
);
|
|
2198
2385
|
}),
|
|
2199
|
-
/* @__PURE__ */
|
|
2386
|
+
/* @__PURE__ */ jsxs4(
|
|
2200
2387
|
"button",
|
|
2201
2388
|
{
|
|
2202
2389
|
ref: moreButtonMeasureRef,
|
|
@@ -2204,8 +2391,8 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2204
2391
|
tabIndex: -1,
|
|
2205
2392
|
className: "inline-flex min-h-8 items-center justify-center gap-1.5 rounded-agg-full border border-agg-primary bg-agg-secondary px-4 py-1.5 text-agg-sm leading-agg-5 text-agg-foreground",
|
|
2206
2393
|
children: [
|
|
2207
|
-
/* @__PURE__ */
|
|
2208
|
-
/* @__PURE__ */
|
|
2394
|
+
/* @__PURE__ */ jsx5("span", { children: moreButtonLabel }),
|
|
2395
|
+
/* @__PURE__ */ jsx5(
|
|
2209
2396
|
Icon,
|
|
2210
2397
|
{
|
|
2211
2398
|
name: "chevron-down",
|
|
@@ -2225,7 +2412,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
2225
2412
|
};
|
|
2226
2413
|
|
|
2227
2414
|
// src/events/item-details/index.tsx
|
|
2228
|
-
import { jsx as
|
|
2415
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
2229
2416
|
var resolveEventDetailsSyncKey = (event) => {
|
|
2230
2417
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
2231
2418
|
const parts = [
|
|
@@ -2270,8 +2457,8 @@ var EventListItemDetailsLoadingState = ({
|
|
|
2270
2457
|
classNames,
|
|
2271
2458
|
ariaLabel
|
|
2272
2459
|
}) => {
|
|
2273
|
-
const labels =
|
|
2274
|
-
return /* @__PURE__ */
|
|
2460
|
+
const labels = useLabels6();
|
|
2461
|
+
return /* @__PURE__ */ jsx6(
|
|
2275
2462
|
Skeleton,
|
|
2276
2463
|
{
|
|
2277
2464
|
view: "event-list-item-details",
|
|
@@ -2284,16 +2471,16 @@ var EventListItemDetailsUnavailableState = ({
|
|
|
2284
2471
|
classNames,
|
|
2285
2472
|
ariaLabel
|
|
2286
2473
|
}) => {
|
|
2287
|
-
const labels =
|
|
2288
|
-
return /* @__PURE__ */
|
|
2474
|
+
const labels = useLabels6();
|
|
2475
|
+
return /* @__PURE__ */ jsx6(
|
|
2289
2476
|
Card,
|
|
2290
2477
|
{
|
|
2291
2478
|
className: cn(detailsBaseCardClassName, classNames == null ? void 0 : classNames.root),
|
|
2292
2479
|
role: "status",
|
|
2293
2480
|
"aria-label": ariaLabel != null ? ariaLabel : labels.eventItemDetails.unavailableAria,
|
|
2294
|
-
children: /* @__PURE__ */
|
|
2295
|
-
/* @__PURE__ */
|
|
2296
|
-
/* @__PURE__ */
|
|
2481
|
+
children: /* @__PURE__ */ jsxs5("div", { className: cn("flex flex-col gap-1", classNames == null ? void 0 : classNames.header), children: [
|
|
2482
|
+
/* @__PURE__ */ jsx6(Typography, { variant: "body-large-strong", className: cn("truncate", classNames == null ? void 0 : classNames.title), children: labels.eventItemDetails.unavailableTitle }),
|
|
2483
|
+
/* @__PURE__ */ jsx6(Typography, { variant: "body", className: "text-agg-muted-foreground", children: labels.eventItemDetails.unavailableDescription })
|
|
2297
2484
|
] })
|
|
2298
2485
|
}
|
|
2299
2486
|
);
|
|
@@ -2302,13 +2489,13 @@ var EventListItemDetailsNotFoundState = ({
|
|
|
2302
2489
|
classNames: _classNames,
|
|
2303
2490
|
ariaLabel: _ariaLabel
|
|
2304
2491
|
}) => {
|
|
2305
|
-
const labels =
|
|
2306
|
-
return /* @__PURE__ */
|
|
2492
|
+
const labels = useLabels6();
|
|
2493
|
+
return /* @__PURE__ */ jsx6(
|
|
2307
2494
|
StateMessage,
|
|
2308
2495
|
{
|
|
2309
2496
|
title: labels.eventItemDetails.notFoundTitle,
|
|
2310
2497
|
description: labels.eventItemDetails.notFoundDescription,
|
|
2311
|
-
icon: /* @__PURE__ */
|
|
2498
|
+
icon: /* @__PURE__ */ jsx6(SearchEmptyIcon, {}),
|
|
2312
2499
|
classNames: { root: "min-h-[280px] md:min-h-[320px]" }
|
|
2313
2500
|
}
|
|
2314
2501
|
);
|
|
@@ -2333,7 +2520,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
2333
2520
|
onRangeOverrideChange
|
|
2334
2521
|
}) => {
|
|
2335
2522
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
|
|
2336
|
-
const labels =
|
|
2523
|
+
const labels = useLabels6();
|
|
2337
2524
|
const tradingContext = useEventTradingContext();
|
|
2338
2525
|
const [selectedGraphVenue, setSelectedGraphVenue] = useState3(null);
|
|
2339
2526
|
const [chartOutcomeLabel, setChartOutcomeLabel] = useState3(
|
|
@@ -2351,7 +2538,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
2351
2538
|
chart: { selectedChartTimeRange },
|
|
2352
2539
|
formatting: { formatPercent, formatPrice },
|
|
2353
2540
|
general: { theme }
|
|
2354
|
-
} =
|
|
2541
|
+
} = useSdkUiConfig3();
|
|
2355
2542
|
const isDarkTheme = theme === "dark";
|
|
2356
2543
|
const effectiveChartTimeRange = rangeOverride != null ? rangeOverride : selectedChartTimeRange;
|
|
2357
2544
|
const rollingWindow = useRollingChartWindow({ range: effectiveChartTimeRange });
|
|
@@ -2502,18 +2689,18 @@ var EventListItemDetailsGraphSection = ({
|
|
|
2502
2689
|
void refetchScopedMarketChart();
|
|
2503
2690
|
};
|
|
2504
2691
|
if (scopedMarketChartError) {
|
|
2505
|
-
return /* @__PURE__ */
|
|
2692
|
+
return /* @__PURE__ */ jsx6("div", { className: cn("agg-chart-region w-full", classNames == null ? void 0 : classNames.chart), children: /* @__PURE__ */ jsx6(
|
|
2506
2693
|
StateMessage,
|
|
2507
2694
|
{
|
|
2508
2695
|
title: labels.eventItemDetails.chartUnavailableTitle,
|
|
2509
2696
|
description: labels.eventItemDetails.chartUnavailableDescription,
|
|
2510
|
-
icon: /* @__PURE__ */
|
|
2697
|
+
icon: /* @__PURE__ */ jsx6(WarningIcon, {}),
|
|
2511
2698
|
onAction: handleRetryMarketChart,
|
|
2512
2699
|
classNames: { root: "min-h-[300px] px-5 py-10 md:px-10" }
|
|
2513
2700
|
}
|
|
2514
2701
|
) });
|
|
2515
2702
|
}
|
|
2516
|
-
return /* @__PURE__ */
|
|
2703
|
+
return /* @__PURE__ */ jsx6(
|
|
2517
2704
|
LineChart,
|
|
2518
2705
|
{
|
|
2519
2706
|
classNames: { root: cn("agg-chart-region", classNames == null ? void 0 : classNames.chart) },
|
|
@@ -2526,7 +2713,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
2526
2713
|
showSeriesControls: selectedMarketOutcomes.length > 0,
|
|
2527
2714
|
renderSeriesControls: ({ handleSeriesChange }) => {
|
|
2528
2715
|
var _a2, _b2, _c2, _d2;
|
|
2529
|
-
return /* @__PURE__ */
|
|
2716
|
+
return /* @__PURE__ */ jsxs5(
|
|
2530
2717
|
"div",
|
|
2531
2718
|
{
|
|
2532
2719
|
className: cn(
|
|
@@ -2537,7 +2724,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
2537
2724
|
classNames == null ? void 0 : classNames.summary
|
|
2538
2725
|
),
|
|
2539
2726
|
children: [
|
|
2540
|
-
/* @__PURE__ */
|
|
2727
|
+
/* @__PURE__ */ jsx6(
|
|
2541
2728
|
"div",
|
|
2542
2729
|
{
|
|
2543
2730
|
className: cn(
|
|
@@ -2551,7 +2738,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
2551
2738
|
const text = formatMarketProbabilityPercent(percentage, formatPercent);
|
|
2552
2739
|
const seriesId = `${item.venue}-chart`;
|
|
2553
2740
|
const isActiveVenue = activeGraphVenue === item.venue;
|
|
2554
|
-
return /* @__PURE__ */
|
|
2741
|
+
return /* @__PURE__ */ jsx6(
|
|
2555
2742
|
"button",
|
|
2556
2743
|
{
|
|
2557
2744
|
type: "button",
|
|
@@ -2570,12 +2757,12 @@ var EventListItemDetailsGraphSection = ({
|
|
|
2570
2757
|
setSelectedGraphVenue(nextSelectedGraphVenue);
|
|
2571
2758
|
handleSeriesChange(seriesId);
|
|
2572
2759
|
},
|
|
2573
|
-
children: /* @__PURE__ */
|
|
2760
|
+
children: /* @__PURE__ */ jsx6(
|
|
2574
2761
|
Badge,
|
|
2575
2762
|
{
|
|
2576
2763
|
text,
|
|
2577
2764
|
size: "large",
|
|
2578
|
-
prefix: /* @__PURE__ */
|
|
2765
|
+
prefix: /* @__PURE__ */ jsx6(
|
|
2579
2766
|
VenueLogo,
|
|
2580
2767
|
{
|
|
2581
2768
|
venue: item.market.venue,
|
|
@@ -2597,7 +2784,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
2597
2784
|
})
|
|
2598
2785
|
}
|
|
2599
2786
|
),
|
|
2600
|
-
/* @__PURE__ */
|
|
2787
|
+
/* @__PURE__ */ jsx6(
|
|
2601
2788
|
SwitchButton,
|
|
2602
2789
|
{
|
|
2603
2790
|
ariaLabel: labels.eventItemDetails.outcomeSelectorAria,
|
|
@@ -2648,15 +2835,17 @@ var EventListItemDetailsContent = ({
|
|
|
2648
2835
|
ariaLabel,
|
|
2649
2836
|
defaultTimeRange,
|
|
2650
2837
|
onClick,
|
|
2651
|
-
midpointsResult
|
|
2838
|
+
midpointsResult,
|
|
2839
|
+
recurringMarkets,
|
|
2840
|
+
sportsLiveState
|
|
2652
2841
|
}) => {
|
|
2653
|
-
var _a, _b, _c, _d;
|
|
2842
|
+
var _a, _b, _c, _d, _e, _f;
|
|
2654
2843
|
const [selectedChartType, setSelectedChartType] = useState3("line");
|
|
2655
2844
|
const lastAppliedEventSyncKeyRef = useRef3(null);
|
|
2656
2845
|
const lastAppliedDefaultRef = useRef3(null);
|
|
2657
2846
|
const [chartRangeOverride, setChartRangeOverride] = useState3(null);
|
|
2658
|
-
const config =
|
|
2659
|
-
const labels =
|
|
2847
|
+
const config = useSdkUiConfig3();
|
|
2848
|
+
const labels = useLabels6();
|
|
2660
2849
|
const tradingContext = useEventTradingContext();
|
|
2661
2850
|
const eventSyncKey = useMemo5(() => resolveEventDetailsSyncKey(event), [event]);
|
|
2662
2851
|
const resolvedEventTradingState = useMemo5(() => {
|
|
@@ -2771,7 +2960,9 @@ var EventListItemDetailsContent = ({
|
|
|
2771
2960
|
structureType: event.structureType,
|
|
2772
2961
|
gameStartTime: event.gameStartTime,
|
|
2773
2962
|
endDate: event.endDate,
|
|
2774
|
-
venueMarkets: event.venueMarkets
|
|
2963
|
+
venueMarkets: event.venueMarkets,
|
|
2964
|
+
recurringCryptoWindowStart: recurringMarkets ? null : void 0,
|
|
2965
|
+
recurringCryptoDuration: recurringMarkets == null ? void 0 : recurringMarkets.duration
|
|
2775
2966
|
});
|
|
2776
2967
|
}, [
|
|
2777
2968
|
event.categories,
|
|
@@ -2779,18 +2970,19 @@ var EventListItemDetailsContent = ({
|
|
|
2779
2970
|
event.gameStartTime,
|
|
2780
2971
|
event.structureType,
|
|
2781
2972
|
event.title,
|
|
2782
|
-
event.venueMarkets
|
|
2973
|
+
event.venueMarkets,
|
|
2974
|
+
recurringMarkets
|
|
2783
2975
|
]);
|
|
2784
|
-
return /* @__PURE__ */
|
|
2976
|
+
return /* @__PURE__ */ jsxs5(
|
|
2785
2977
|
Card,
|
|
2786
2978
|
{
|
|
2787
2979
|
className: cn("group/agg-event-details", detailsBaseCardClassName, classNames == null ? void 0 : classNames.root),
|
|
2788
|
-
"aria-label": ariaLabel != null ? ariaLabel : [resolvedTitle.title, resolvedTitle.timestampLabel].filter(Boolean).join(" "),
|
|
2980
|
+
"aria-label": ariaLabel != null ? ariaLabel : [resolvedTitle.title, (_c = recurringMarkets == null ? void 0 : recurringMarkets.windowLabel) != null ? _c : resolvedTitle.timestampLabel].filter(Boolean).join(" "),
|
|
2789
2981
|
onClick: () => {
|
|
2790
2982
|
onClick == null ? void 0 : onClick(event);
|
|
2791
2983
|
},
|
|
2792
2984
|
children: [
|
|
2793
|
-
/* @__PURE__ */
|
|
2985
|
+
/* @__PURE__ */ jsxs5(
|
|
2794
2986
|
"div",
|
|
2795
2987
|
{
|
|
2796
2988
|
className: cn(
|
|
@@ -2801,7 +2993,7 @@ var EventListItemDetailsContent = ({
|
|
|
2801
2993
|
classNames == null ? void 0 : classNames.header
|
|
2802
2994
|
),
|
|
2803
2995
|
children: [
|
|
2804
|
-
/* @__PURE__ */
|
|
2996
|
+
/* @__PURE__ */ jsx6(
|
|
2805
2997
|
RemoteImage,
|
|
2806
2998
|
{
|
|
2807
2999
|
src: optimizedImageUrl2(event.image, 60),
|
|
@@ -2809,36 +3001,101 @@ var EventListItemDetailsContent = ({
|
|
|
2809
3001
|
className: "agg-event-image size-10 rounded-agg-lg object-cover md:size-[60px]"
|
|
2810
3002
|
}
|
|
2811
3003
|
),
|
|
2812
|
-
/* @__PURE__ */
|
|
2813
|
-
/* @__PURE__ */
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
3004
|
+
/* @__PURE__ */ jsxs5("div", { className: cn("flex min-w-0 flex-1 flex-col", recurringMarkets ? "gap-3" : "gap-2"), children: [
|
|
3005
|
+
/* @__PURE__ */ jsxs5(
|
|
3006
|
+
"div",
|
|
3007
|
+
{
|
|
3008
|
+
className: cn(
|
|
3009
|
+
"min-w-0",
|
|
3010
|
+
recurringMarkets ? "flex flex-col gap-1 md:flex-row md:items-baseline md:justify-between" : null
|
|
3011
|
+
),
|
|
3012
|
+
children: [
|
|
3013
|
+
/* @__PURE__ */ jsx6(
|
|
3014
|
+
Typography,
|
|
3015
|
+
{
|
|
3016
|
+
variant: "body-strong",
|
|
3017
|
+
className: cn(
|
|
3018
|
+
"agg-event-title",
|
|
3019
|
+
"min-w-0 text-agg-base font-agg-bold! leading-agg-6 md:text-agg-2xl md:leading-agg-8",
|
|
3020
|
+
resolvedTitle.timestampLabel && !recurringMarkets ? "truncate whitespace-nowrap" : "truncate text-wrap wrap-break-word line-clamp-2",
|
|
3021
|
+
classNames == null ? void 0 : classNames.title
|
|
3022
|
+
),
|
|
3023
|
+
children: resolvedTitle.title
|
|
3024
|
+
}
|
|
2823
3025
|
),
|
|
2824
|
-
|
|
3026
|
+
(recurringMarkets == null ? void 0 : recurringMarkets.windowLabel) ? /* @__PURE__ */ jsx6(
|
|
3027
|
+
Typography,
|
|
3028
|
+
{
|
|
3029
|
+
variant: "body",
|
|
3030
|
+
className: "agg-event-timestamp min-w-0 shrink-0 truncate text-agg-sm leading-agg-5 text-agg-muted-foreground md:text-agg-base md:leading-agg-6",
|
|
3031
|
+
children: recurringMarkets.windowLabel
|
|
3032
|
+
}
|
|
3033
|
+
) : resolvedTitle.timestampLabel ? /* @__PURE__ */ jsx6(
|
|
3034
|
+
Typography,
|
|
3035
|
+
{
|
|
3036
|
+
variant: "body",
|
|
3037
|
+
className: "agg-event-timestamp mt-0.5 min-w-0 truncate text-agg-sm leading-agg-5 text-agg-muted-foreground",
|
|
3038
|
+
children: resolvedTitle.timestampLabel
|
|
3039
|
+
}
|
|
3040
|
+
) : null
|
|
3041
|
+
]
|
|
3042
|
+
}
|
|
3043
|
+
),
|
|
3044
|
+
recurringMarkets ? /* @__PURE__ */ jsxs5("div", { className: "flex min-w-0 flex-col gap-3 md:flex-row md:items-center md:justify-between", children: [
|
|
3045
|
+
/* @__PURE__ */ jsx6(
|
|
3046
|
+
EventListItemDetailsMarketSelector,
|
|
3047
|
+
{
|
|
3048
|
+
className: cn("min-w-0 flex-1", classNames == null ? void 0 : classNames.headerPills),
|
|
3049
|
+
options: recurringMarkets.visibleOptions,
|
|
3050
|
+
browseOptions: recurringMarkets.browseOptions,
|
|
3051
|
+
selectedValue: recurringMarkets.selectedValue,
|
|
3052
|
+
liveValue: recurringMarkets.liveValue,
|
|
3053
|
+
alwaysShowMore: true,
|
|
3054
|
+
onChange: recurringMarkets.onSelect
|
|
2825
3055
|
}
|
|
2826
3056
|
),
|
|
2827
|
-
|
|
2828
|
-
|
|
3057
|
+
recurringMarkets.isResolving ? /* @__PURE__ */ jsx6(
|
|
3058
|
+
Button,
|
|
2829
3059
|
{
|
|
2830
|
-
variant: "
|
|
2831
|
-
|
|
2832
|
-
|
|
3060
|
+
variant: "secondary",
|
|
3061
|
+
size: "small",
|
|
3062
|
+
disabled: !recurringMarkets.canGoToLive,
|
|
3063
|
+
"aria-label": recurringMarkets.canGoToLive ? labels.eventMarketPage.goToLive : labels.eventMarketPage.liveMarketUnavailable,
|
|
3064
|
+
className: "h-8 shrink-0",
|
|
3065
|
+
onClick: (eventToHandle) => {
|
|
3066
|
+
eventToHandle.preventDefault();
|
|
3067
|
+
eventToHandle.stopPropagation();
|
|
3068
|
+
recurringMarkets.onGoToLive();
|
|
3069
|
+
},
|
|
3070
|
+
children: labels.eventMarketPage.goToLive
|
|
3071
|
+
}
|
|
3072
|
+
) : recurringMarkets.countdownLabel ? /* @__PURE__ */ jsxs5(
|
|
3073
|
+
"div",
|
|
3074
|
+
{
|
|
3075
|
+
role: "timer",
|
|
3076
|
+
"aria-live": "off",
|
|
3077
|
+
"aria-label": (_d = recurringMarkets.countdownAriaLabel) != null ? _d : void 0,
|
|
3078
|
+
className: "flex shrink-0 items-center gap-1.5 text-agg-foreground",
|
|
3079
|
+
children: [
|
|
3080
|
+
/* @__PURE__ */ jsx6(
|
|
3081
|
+
Icon,
|
|
3082
|
+
{
|
|
3083
|
+
name: "hourglass-start",
|
|
3084
|
+
size: "small",
|
|
3085
|
+
className: "size-3.5",
|
|
3086
|
+
"aria-hidden": "true"
|
|
3087
|
+
}
|
|
3088
|
+
),
|
|
3089
|
+
/* @__PURE__ */ jsx6(Typography, { variant: "body-strong", className: "text-agg-base leading-agg-6", children: recurringMarkets.countdownLabel })
|
|
3090
|
+
]
|
|
2833
3091
|
}
|
|
2834
3092
|
) : null
|
|
2835
|
-
] })
|
|
2836
|
-
venueMarkets.length > 1 ? /* @__PURE__ */ jsx5(
|
|
3093
|
+
] }) : venueMarkets.length > 1 ? /* @__PURE__ */ jsx6(
|
|
2837
3094
|
EventListItemDetailsMarketSelector,
|
|
2838
3095
|
{
|
|
2839
3096
|
className: classNames == null ? void 0 : classNames.headerPills,
|
|
2840
3097
|
options: marketOptions,
|
|
2841
|
-
selectedValue: (
|
|
3098
|
+
selectedValue: (_e = scopedSelectedMarket == null ? void 0 : scopedSelectedMarket.id) != null ? _e : "",
|
|
2842
3099
|
onChange: (marketId) => {
|
|
2843
3100
|
tradingContext == null ? void 0 : tradingContext.selectMarket(marketId);
|
|
2844
3101
|
}
|
|
@@ -2848,7 +3105,8 @@ var EventListItemDetailsContent = ({
|
|
|
2848
3105
|
]
|
|
2849
3106
|
}
|
|
2850
3107
|
),
|
|
2851
|
-
|
|
3108
|
+
/* @__PURE__ */ jsx6(SportsLiveScore, { state: sportsLiveState, className: classNames == null ? void 0 : classNames.sportsLive }),
|
|
3109
|
+
detailsStats && detailsStats.length > 0 ? /* @__PURE__ */ jsx6(
|
|
2852
3110
|
"div",
|
|
2853
3111
|
{
|
|
2854
3112
|
className: cn(
|
|
@@ -2857,14 +3115,14 @@ var EventListItemDetailsContent = ({
|
|
|
2857
3115
|
),
|
|
2858
3116
|
children: detailsStats.map((statItem) => {
|
|
2859
3117
|
const deltaClassName = statItem.deltaTone === "positive" ? "text-agg-success!" : statItem.deltaTone === "negative" ? "text-agg-error!" : "text-agg-muted-foreground";
|
|
2860
|
-
return /* @__PURE__ */
|
|
3118
|
+
return /* @__PURE__ */ jsxs5(
|
|
2861
3119
|
"div",
|
|
2862
3120
|
{
|
|
2863
3121
|
className: "agg-event-stat flex flex-col gap-1",
|
|
2864
3122
|
children: [
|
|
2865
|
-
/* @__PURE__ */
|
|
2866
|
-
/* @__PURE__ */
|
|
2867
|
-
/* @__PURE__ */
|
|
3123
|
+
/* @__PURE__ */ jsx6(Typography, { variant: "caption-caps", className: "text-agg-muted-foreground", children: statItem.label }),
|
|
3124
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex items-baseline gap-1", children: [
|
|
3125
|
+
/* @__PURE__ */ jsx6(
|
|
2868
3126
|
Typography,
|
|
2869
3127
|
{
|
|
2870
3128
|
variant: "body",
|
|
@@ -2872,7 +3130,7 @@ var EventListItemDetailsContent = ({
|
|
|
2872
3130
|
children: statItem.value
|
|
2873
3131
|
}
|
|
2874
3132
|
),
|
|
2875
|
-
statItem.delta ? /* @__PURE__ */
|
|
3133
|
+
statItem.delta ? /* @__PURE__ */ jsx6(Typography, { variant: "label", className: cn(deltaClassName), children: statItem.delta }) : null
|
|
2876
3134
|
] })
|
|
2877
3135
|
]
|
|
2878
3136
|
},
|
|
@@ -2881,15 +3139,15 @@ var EventListItemDetailsContent = ({
|
|
|
2881
3139
|
})
|
|
2882
3140
|
}
|
|
2883
3141
|
) : null,
|
|
2884
|
-
/* @__PURE__ */
|
|
2885
|
-
/* @__PURE__ */
|
|
3142
|
+
/* @__PURE__ */ jsxs5("div", { className: cn("agg-event-details-chart", "flex flex-col gap-2"), children: [
|
|
3143
|
+
/* @__PURE__ */ jsx6(
|
|
2886
3144
|
EventListItemDetailsGraphSection,
|
|
2887
3145
|
{
|
|
2888
3146
|
classNames,
|
|
2889
3147
|
selectedChartType,
|
|
2890
3148
|
venueInfo,
|
|
2891
3149
|
venueMarkets,
|
|
2892
|
-
selectedMarketId: (
|
|
3150
|
+
selectedMarketId: (_f = scopedSelectedMarket == null ? void 0 : scopedSelectedMarket.id) != null ? _f : null,
|
|
2893
3151
|
livePrices,
|
|
2894
3152
|
restMidpoints,
|
|
2895
3153
|
bestMidpoint,
|
|
@@ -2899,7 +3157,7 @@ var EventListItemDetailsContent = ({
|
|
|
2899
3157
|
onRangeOverrideChange: setChartRangeOverride
|
|
2900
3158
|
}
|
|
2901
3159
|
),
|
|
2902
|
-
/* @__PURE__ */
|
|
3160
|
+
/* @__PURE__ */ jsxs5(
|
|
2903
3161
|
"div",
|
|
2904
3162
|
{
|
|
2905
3163
|
className: cn(
|
|
@@ -2907,8 +3165,8 @@ var EventListItemDetailsContent = ({
|
|
|
2907
3165
|
classNames == null ? void 0 : classNames.footer
|
|
2908
3166
|
),
|
|
2909
3167
|
children: [
|
|
2910
|
-
/* @__PURE__ */
|
|
2911
|
-
/* @__PURE__ */
|
|
3168
|
+
/* @__PURE__ */ jsx6(Typography, { variant: "label", className: "agg-chart-volume text-agg-muted-foreground", children: volumeLabel || "-" }),
|
|
3169
|
+
/* @__PURE__ */ jsxs5(
|
|
2912
3170
|
"div",
|
|
2913
3171
|
{
|
|
2914
3172
|
className: cn(
|
|
@@ -2916,7 +3174,7 @@ var EventListItemDetailsContent = ({
|
|
|
2916
3174
|
classNames == null ? void 0 : classNames.timeRange
|
|
2917
3175
|
),
|
|
2918
3176
|
children: [
|
|
2919
|
-
/* @__PURE__ */
|
|
3177
|
+
/* @__PURE__ */ jsx6(
|
|
2920
3178
|
ChartTypeSwitch,
|
|
2921
3179
|
{
|
|
2922
3180
|
className: "agg-chart-type-switch",
|
|
@@ -2924,11 +3182,11 @@ var EventListItemDetailsContent = ({
|
|
|
2924
3182
|
onValueChange: setSelectedChartType
|
|
2925
3183
|
}
|
|
2926
3184
|
),
|
|
2927
|
-
/* @__PURE__ */
|
|
3185
|
+
/* @__PURE__ */ jsx6("span", { "aria-hidden": "true", className: "hidden h-4 w-px bg-agg-separator md:block" }),
|
|
2928
3186
|
CHART_TIME_RANGES.map((timeRange) => {
|
|
2929
3187
|
const effectiveRange = chartRangeOverride != null ? chartRangeOverride : config.chart.selectedChartTimeRange;
|
|
2930
3188
|
const isActive = timeRange === effectiveRange;
|
|
2931
|
-
return /* @__PURE__ */
|
|
3189
|
+
return /* @__PURE__ */ jsx6(
|
|
2932
3190
|
Button,
|
|
2933
3191
|
{
|
|
2934
3192
|
size: "small",
|
|
@@ -2959,7 +3217,7 @@ var EventListItemDetailsContent = ({
|
|
|
2959
3217
|
}
|
|
2960
3218
|
)
|
|
2961
3219
|
] }),
|
|
2962
|
-
event.description || event.settlementDiff ? /* @__PURE__ */
|
|
3220
|
+
event.description || event.settlementDiff ? /* @__PURE__ */ jsx6(SettlementSummary, { content: event.description, settlementDiff: event.settlementDiff }) : null
|
|
2963
3221
|
]
|
|
2964
3222
|
}
|
|
2965
3223
|
);
|
|
@@ -2981,7 +3239,7 @@ var EventListItemDetailsByEventId = (_a) => {
|
|
|
2981
3239
|
enabled: !!resolvedEventId
|
|
2982
3240
|
});
|
|
2983
3241
|
if (!resolvedEventId) {
|
|
2984
|
-
return /* @__PURE__ */
|
|
3242
|
+
return /* @__PURE__ */ jsx6(
|
|
2985
3243
|
EventListItemDetailsUnavailableState,
|
|
2986
3244
|
{
|
|
2987
3245
|
classNames: rest.classNames,
|
|
@@ -2990,16 +3248,16 @@ var EventListItemDetailsByEventId = (_a) => {
|
|
|
2990
3248
|
);
|
|
2991
3249
|
}
|
|
2992
3250
|
if (isLoading) {
|
|
2993
|
-
return /* @__PURE__ */
|
|
3251
|
+
return /* @__PURE__ */ jsx6(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
2994
3252
|
}
|
|
2995
3253
|
if (isErrorWithStatus(error, 404)) {
|
|
2996
|
-
return /* @__PURE__ */
|
|
3254
|
+
return /* @__PURE__ */ jsx6(EventListItemDetailsNotFoundState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
2997
3255
|
}
|
|
2998
3256
|
if (!fetchedEvent && !isError) {
|
|
2999
|
-
return /* @__PURE__ */
|
|
3257
|
+
return /* @__PURE__ */ jsx6(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
3000
3258
|
}
|
|
3001
3259
|
if (!fetchedEvent) {
|
|
3002
|
-
return /* @__PURE__ */
|
|
3260
|
+
return /* @__PURE__ */ jsx6(
|
|
3003
3261
|
EventListItemDetailsUnavailableState,
|
|
3004
3262
|
{
|
|
3005
3263
|
classNames: rest.classNames,
|
|
@@ -3007,15 +3265,15 @@ var EventListItemDetailsByEventId = (_a) => {
|
|
|
3007
3265
|
}
|
|
3008
3266
|
);
|
|
3009
3267
|
}
|
|
3010
|
-
return /* @__PURE__ */
|
|
3268
|
+
return /* @__PURE__ */ jsx6(EventListItemDetailsContent, __spreadValues({ event: fetchedEvent }, rest));
|
|
3011
3269
|
};
|
|
3012
3270
|
var EventListItemDetails = (props) => {
|
|
3013
3271
|
if (props.isLoading) {
|
|
3014
|
-
return /* @__PURE__ */
|
|
3272
|
+
return /* @__PURE__ */ jsx6(EventListItemDetailsLoadingState, { classNames: props.classNames, ariaLabel: props.ariaLabel });
|
|
3015
3273
|
}
|
|
3016
3274
|
if ("event" in props && props.event) {
|
|
3017
3275
|
const _a = props, { event } = _a, rest = __objRest(_a, ["event"]);
|
|
3018
|
-
return /* @__PURE__ */
|
|
3276
|
+
return /* @__PURE__ */ jsx6(EventListItemDetailsContent, __spreadValues({ event }, rest));
|
|
3019
3277
|
}
|
|
3020
3278
|
if ("eventId" in props && typeof props.eventId === "string") {
|
|
3021
3279
|
const {
|
|
@@ -3038,9 +3296,9 @@ var EventListItemDetails = (props) => {
|
|
|
3038
3296
|
ariaLabel: ariaLabelOverride,
|
|
3039
3297
|
onClick
|
|
3040
3298
|
};
|
|
3041
|
-
return /* @__PURE__ */
|
|
3299
|
+
return /* @__PURE__ */ jsx6(EventListItemDetailsByEventId, __spreadValues({}, byEventIdProps));
|
|
3042
3300
|
}
|
|
3043
|
-
return /* @__PURE__ */
|
|
3301
|
+
return /* @__PURE__ */ jsx6(
|
|
3044
3302
|
EventListItemDetailsUnavailableState,
|
|
3045
3303
|
{
|
|
3046
3304
|
classNames: props.classNames,
|
|
@@ -3213,13 +3471,13 @@ var useCenterOrderbookSpread = ({
|
|
|
3213
3471
|
// src/events/orderbook/index.tsx
|
|
3214
3472
|
import { sortVenues as sortVenues3, useAggUiConfig } from "@agg-build/hooks";
|
|
3215
3473
|
import { useEffect as useEffect4, useRef as useRef5 } from "react";
|
|
3216
|
-
import { jsx as
|
|
3474
|
+
import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
3217
3475
|
var OrderbookVenueLogos = ({ venues }) => {
|
|
3218
3476
|
const visible = sortVenues3(venues).slice(0, orderbookMaxVisibleVenues);
|
|
3219
3477
|
const overflow = venues.length - visible.length;
|
|
3220
|
-
return /* @__PURE__ */
|
|
3221
|
-
visible.map((venue) => /* @__PURE__ */
|
|
3222
|
-
overflow > 0 ? /* @__PURE__ */
|
|
3478
|
+
return /* @__PURE__ */ jsxs6("div", { className: "flex flex-row items-center justify-start gap-0.5 md:gap-1", children: [
|
|
3479
|
+
visible.map((venue) => /* @__PURE__ */ jsx7(VenueLogo, { venue, size: "small" }, venue)),
|
|
3480
|
+
overflow > 0 ? /* @__PURE__ */ jsxs6("span", { className: "text-agg-xs font-agg-bold leading-agg-4 text-agg-muted-foreground", children: [
|
|
3223
3481
|
"+",
|
|
3224
3482
|
overflow
|
|
3225
3483
|
] }) : null
|
|
@@ -3246,8 +3504,8 @@ var OrderbookRow = ({
|
|
|
3246
3504
|
}).map(([venue]) => venue);
|
|
3247
3505
|
const venues = entry.row.venues && entry.row.venues.length > 0 ? entry.row.venues : venuesFromBreakdown.length > 0 ? venuesFromBreakdown : [entry.row.venue];
|
|
3248
3506
|
const barPercent = Math.max(2, Number((entry.unifiedBarScale * 100).toFixed(2)));
|
|
3249
|
-
return /* @__PURE__ */
|
|
3250
|
-
/* @__PURE__ */
|
|
3507
|
+
return /* @__PURE__ */ jsxs6("div", { className: "agg-orderbook-row relative flex h-9 items-center gap-2.5 overflow-clip pl-5 pr-2.5 md:gap-10 md:pl-0 md:pr-5", children: [
|
|
3508
|
+
/* @__PURE__ */ jsx7(
|
|
3251
3509
|
"div",
|
|
3252
3510
|
{
|
|
3253
3511
|
"aria-hidden": "true",
|
|
@@ -3259,8 +3517,8 @@ var OrderbookRow = ({
|
|
|
3259
3517
|
style: { width: `${barPercent}%` }
|
|
3260
3518
|
}
|
|
3261
3519
|
),
|
|
3262
|
-
/* @__PURE__ */
|
|
3263
|
-
/* @__PURE__ */
|
|
3520
|
+
/* @__PURE__ */ jsxs6("div", { className: "hidden md:block md:relative min-w-0 flex-1 self-stretch", children: [
|
|
3521
|
+
/* @__PURE__ */ jsx7(
|
|
3264
3522
|
"div",
|
|
3265
3523
|
{
|
|
3266
3524
|
"aria-hidden": "true",
|
|
@@ -3272,14 +3530,14 @@ var OrderbookRow = ({
|
|
|
3272
3530
|
style: { width: `${barPercent}%` }
|
|
3273
3531
|
}
|
|
3274
3532
|
),
|
|
3275
|
-
showBadge && badgeLabel ? /* @__PURE__ */
|
|
3533
|
+
showBadge && badgeLabel ? /* @__PURE__ */ jsx7(
|
|
3276
3534
|
"div",
|
|
3277
3535
|
{
|
|
3278
3536
|
className: cn(
|
|
3279
3537
|
"absolute flex left-5 top-1/2 -translate-y-1/2 rounded-[4px] border px-2 py-0.5",
|
|
3280
3538
|
badgeBorderClassName
|
|
3281
3539
|
),
|
|
3282
|
-
children: /* @__PURE__ */
|
|
3540
|
+
children: /* @__PURE__ */ jsx7(
|
|
3283
3541
|
"span",
|
|
3284
3542
|
{
|
|
3285
3543
|
className: cn("text-[10px] font-bold uppercase leading-[14px]", badgeTextClassName),
|
|
@@ -3289,8 +3547,8 @@ var OrderbookRow = ({
|
|
|
3289
3547
|
}
|
|
3290
3548
|
) : null
|
|
3291
3549
|
] }),
|
|
3292
|
-
/* @__PURE__ */
|
|
3293
|
-
/* @__PURE__ */
|
|
3550
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex w-20 shrink-0 items-center justify-start gap-2 md:w-[120px]", children: [
|
|
3551
|
+
/* @__PURE__ */ jsx7(
|
|
3294
3552
|
"span",
|
|
3295
3553
|
{
|
|
3296
3554
|
className: cn(
|
|
@@ -3301,10 +3559,10 @@ var OrderbookRow = ({
|
|
|
3301
3559
|
children: formatProbabilityCents(entry.row.price, formatPrice)
|
|
3302
3560
|
}
|
|
3303
3561
|
),
|
|
3304
|
-
/* @__PURE__ */
|
|
3562
|
+
/* @__PURE__ */ jsx7(OrderbookVenueLogos, { venues })
|
|
3305
3563
|
] }),
|
|
3306
|
-
/* @__PURE__ */
|
|
3307
|
-
/* @__PURE__ */
|
|
3564
|
+
/* @__PURE__ */ jsx7("span", { className: "agg-orderbook-size w-20 shrink-0 truncate text-center text-agg-sm leading-agg-5 text-agg-foreground md:w-[120px]", children: formatNumber(entry.row.size) }),
|
|
3565
|
+
/* @__PURE__ */ jsx7("span", { className: "agg-orderbook-total w-20 shrink-0 truncate text-center text-agg-sm leading-agg-5 text-agg-foreground md:w-[120px]", children: formatCurrency(entry.row.total) })
|
|
3308
3566
|
] });
|
|
3309
3567
|
};
|
|
3310
3568
|
var Orderbook = ({
|
|
@@ -3364,15 +3622,15 @@ var Orderbook = ({
|
|
|
3364
3622
|
snapshotKey,
|
|
3365
3623
|
spreadEntry
|
|
3366
3624
|
]);
|
|
3367
|
-
return /* @__PURE__ */
|
|
3368
|
-
/* @__PURE__ */
|
|
3369
|
-
/* @__PURE__ */
|
|
3370
|
-
/* @__PURE__ */
|
|
3371
|
-
/* @__PURE__ */
|
|
3372
|
-
/* @__PURE__ */
|
|
3625
|
+
return /* @__PURE__ */ jsxs6("div", { className: cn("agg-orderbook-unified flex flex-col", className), children: [
|
|
3626
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex h-9 items-center gap-2.5 overflow-clip border-b border-agg-separator pl-5 pr-5 md:pl-0 md:gap-10", children: [
|
|
3627
|
+
/* @__PURE__ */ jsx7("span", { className: "hidden md:flex min-w-0 flex-1 items-center gap-2 pl-5", children: /* @__PURE__ */ jsx7("span", { className: "text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground", children: labels.tradeOutcome }) }),
|
|
3628
|
+
/* @__PURE__ */ jsx7("span", { className: "w-20 shrink-0 text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground md:w-[120px]", children: labels.price }),
|
|
3629
|
+
/* @__PURE__ */ jsx7("span", { className: "w-20 shrink-0 text-center text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground md:w-[120px]", children: labels.shares }),
|
|
3630
|
+
/* @__PURE__ */ jsx7("span", { className: "w-20 shrink-0 text-center text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground md:w-[120px]", children: labels.total })
|
|
3373
3631
|
] }),
|
|
3374
|
-
/* @__PURE__ */
|
|
3375
|
-
/* @__PURE__ */
|
|
3632
|
+
/* @__PURE__ */ jsxs6("div", { className: "relative", children: [
|
|
3633
|
+
/* @__PURE__ */ jsxs6(
|
|
3376
3634
|
"div",
|
|
3377
3635
|
{
|
|
3378
3636
|
ref: scrollContainerRef,
|
|
@@ -3382,7 +3640,7 @@ var Orderbook = ({
|
|
|
3382
3640
|
"aria-label": "Order book",
|
|
3383
3641
|
tabIndex: 0,
|
|
3384
3642
|
children: [
|
|
3385
|
-
askEntries.length > 0 ? /* @__PURE__ */
|
|
3643
|
+
askEntries.length > 0 ? /* @__PURE__ */ jsx7("div", { className: "agg-orderbook-asks flex flex-col", children: askEntries.map((entry, index) => /* @__PURE__ */ jsx7(
|
|
3386
3644
|
OrderbookRow,
|
|
3387
3645
|
{
|
|
3388
3646
|
entry,
|
|
@@ -3395,7 +3653,7 @@ var Orderbook = ({
|
|
|
3395
3653
|
},
|
|
3396
3654
|
entry.row.id
|
|
3397
3655
|
)) }) : null,
|
|
3398
|
-
/* @__PURE__ */
|
|
3656
|
+
/* @__PURE__ */ jsxs6(
|
|
3399
3657
|
"div",
|
|
3400
3658
|
{
|
|
3401
3659
|
ref: spreadRowRef,
|
|
@@ -3403,7 +3661,7 @@ var Orderbook = ({
|
|
|
3403
3661
|
role: "separator",
|
|
3404
3662
|
"aria-label": `${labels.midPrice}: ${formatProbabilityCents((_b = spreadEntry == null ? void 0 : spreadEntry.midPrice) != null ? _b : null, formatPrice)}, ${labels.spread}: ${formatProbabilityCents((_c = spreadEntry == null ? void 0 : spreadEntry.spread) != null ? _c : null)}`,
|
|
3405
3663
|
children: [
|
|
3406
|
-
/* @__PURE__ */
|
|
3664
|
+
/* @__PURE__ */ jsxs6(
|
|
3407
3665
|
Typography,
|
|
3408
3666
|
{
|
|
3409
3667
|
variant: "label",
|
|
@@ -3415,7 +3673,7 @@ var Orderbook = ({
|
|
|
3415
3673
|
]
|
|
3416
3674
|
}
|
|
3417
3675
|
),
|
|
3418
|
-
/* @__PURE__ */
|
|
3676
|
+
/* @__PURE__ */ jsxs6(
|
|
3419
3677
|
Typography,
|
|
3420
3678
|
{
|
|
3421
3679
|
variant: "label",
|
|
@@ -3427,12 +3685,12 @@ var Orderbook = ({
|
|
|
3427
3685
|
]
|
|
3428
3686
|
}
|
|
3429
3687
|
),
|
|
3430
|
-
/* @__PURE__ */
|
|
3431
|
-
/* @__PURE__ */
|
|
3688
|
+
/* @__PURE__ */ jsx7("div", { className: "hidden md:inline-flex w-20 shrink-0 md:w-[120px]" }),
|
|
3689
|
+
/* @__PURE__ */ jsx7("div", { className: "hidden md:inline-flex w-20 shrink-0 md:w-[120px]" })
|
|
3432
3690
|
]
|
|
3433
3691
|
}
|
|
3434
3692
|
),
|
|
3435
|
-
bidEntries.length > 0 ? /* @__PURE__ */
|
|
3693
|
+
bidEntries.length > 0 ? /* @__PURE__ */ jsx7("div", { className: "agg-orderbook-bids flex flex-col", children: bidEntries.map((entry, index) => /* @__PURE__ */ jsx7(
|
|
3436
3694
|
OrderbookRow,
|
|
3437
3695
|
{
|
|
3438
3696
|
entry,
|
|
@@ -3448,14 +3706,14 @@ var Orderbook = ({
|
|
|
3448
3706
|
]
|
|
3449
3707
|
}
|
|
3450
3708
|
),
|
|
3451
|
-
/* @__PURE__ */
|
|
3709
|
+
/* @__PURE__ */ jsx7(
|
|
3452
3710
|
"button",
|
|
3453
3711
|
{
|
|
3454
3712
|
type: "button",
|
|
3455
3713
|
onClick: recenter,
|
|
3456
3714
|
className: "absolute bottom-3 left-5 z-10 flex size-8 cursor-pointer items-center justify-center rounded-lg border border-agg-separator bg-agg-secondary text-agg-muted-foreground transition-colors hover:text-agg-foreground",
|
|
3457
3715
|
"aria-label": "Re-center orderbook",
|
|
3458
|
-
children: /* @__PURE__ */
|
|
3716
|
+
children: /* @__PURE__ */ jsx7(Icon, { name: "recenter", size: "small", className: "!size-4 text-current" })
|
|
3459
3717
|
}
|
|
3460
3718
|
)
|
|
3461
3719
|
] })
|
|
@@ -3464,7 +3722,7 @@ var Orderbook = ({
|
|
|
3464
3722
|
Orderbook.displayName = "Orderbook";
|
|
3465
3723
|
|
|
3466
3724
|
// src/events/orderbook/orderbook-with-states.tsx
|
|
3467
|
-
import { jsx as
|
|
3725
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
3468
3726
|
var stateMessageMinHeight = "min-h-[248px] px-5 py-10 md:min-h-[272px]";
|
|
3469
3727
|
var OrderbookWithStates = (_a) => {
|
|
3470
3728
|
var _b = _a, {
|
|
@@ -3476,54 +3734,54 @@ var OrderbookWithStates = (_a) => {
|
|
|
3476
3734
|
]);
|
|
3477
3735
|
var _a2;
|
|
3478
3736
|
if (state.kind === "loading") {
|
|
3479
|
-
return /* @__PURE__ */
|
|
3737
|
+
return /* @__PURE__ */ jsx8("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ jsx8(MarketDetailsOderbookSkeleton, {}) });
|
|
3480
3738
|
}
|
|
3481
3739
|
if (state.kind === "disabled") {
|
|
3482
|
-
return /* @__PURE__ */
|
|
3740
|
+
return /* @__PURE__ */ jsx8("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ jsx8(
|
|
3483
3741
|
StateMessage,
|
|
3484
3742
|
{
|
|
3485
3743
|
title: state.title,
|
|
3486
3744
|
description: state.description,
|
|
3487
|
-
icon: (_a2 = state.icon) != null ? _a2 : /* @__PURE__ */
|
|
3745
|
+
icon: (_a2 = state.icon) != null ? _a2 : /* @__PURE__ */ jsx8(WarningIcon, {}),
|
|
3488
3746
|
classNames: { root: stateMessageMinHeight }
|
|
3489
3747
|
}
|
|
3490
3748
|
) });
|
|
3491
3749
|
}
|
|
3492
3750
|
if (state.kind === "error") {
|
|
3493
|
-
return /* @__PURE__ */
|
|
3751
|
+
return /* @__PURE__ */ jsx8("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ jsx8(
|
|
3494
3752
|
StateMessage,
|
|
3495
3753
|
{
|
|
3496
3754
|
title: state.title,
|
|
3497
3755
|
description: state.description,
|
|
3498
|
-
icon: /* @__PURE__ */
|
|
3756
|
+
icon: /* @__PURE__ */ jsx8(WarningIcon, {}),
|
|
3499
3757
|
onAction: state.onRetry,
|
|
3500
3758
|
classNames: { root: stateMessageMinHeight }
|
|
3501
3759
|
}
|
|
3502
3760
|
) });
|
|
3503
3761
|
}
|
|
3504
3762
|
if (state.kind === "resolved") {
|
|
3505
|
-
return /* @__PURE__ */
|
|
3763
|
+
return /* @__PURE__ */ jsx8("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ jsx8(
|
|
3506
3764
|
StateMessage,
|
|
3507
3765
|
{
|
|
3508
3766
|
title: state.title,
|
|
3509
3767
|
description: state.description,
|
|
3510
|
-
icon: /* @__PURE__ */
|
|
3768
|
+
icon: /* @__PURE__ */ jsx8(WarningIcon, {}),
|
|
3511
3769
|
classNames: { root: stateMessageMinHeight }
|
|
3512
3770
|
}
|
|
3513
3771
|
) });
|
|
3514
3772
|
}
|
|
3515
3773
|
if (state.kind === "empty") {
|
|
3516
|
-
return /* @__PURE__ */
|
|
3774
|
+
return /* @__PURE__ */ jsx8("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ jsx8(
|
|
3517
3775
|
StateMessage,
|
|
3518
3776
|
{
|
|
3519
3777
|
title: state.title,
|
|
3520
3778
|
description: state.description,
|
|
3521
|
-
icon: /* @__PURE__ */
|
|
3779
|
+
icon: /* @__PURE__ */ jsx8(SearchEmptyIcon, {}),
|
|
3522
3780
|
classNames: { root: stateMessageMinHeight }
|
|
3523
3781
|
}
|
|
3524
3782
|
) });
|
|
3525
3783
|
}
|
|
3526
|
-
return /* @__PURE__ */
|
|
3784
|
+
return /* @__PURE__ */ jsx8("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ jsx8(Orderbook, __spreadValues({}, orderbookProps)) });
|
|
3527
3785
|
};
|
|
3528
3786
|
OrderbookWithStates.displayName = "OrderbookWithStates";
|
|
3529
3787
|
|
|
@@ -3536,13 +3794,13 @@ import {
|
|
|
3536
3794
|
resolveMarketTradingState as resolveMarketTradingState2,
|
|
3537
3795
|
useEventTradingContext as useEventTradingContext2,
|
|
3538
3796
|
useEventOrderbookData as useEventOrderbookData2,
|
|
3539
|
-
useLabels as
|
|
3797
|
+
useLabels as useLabels8,
|
|
3540
3798
|
useLiveBestPrices as useLiveBestPrices2,
|
|
3541
3799
|
useLiveBestPriceCandidates,
|
|
3542
3800
|
useLiveOutcomePrices as useLiveOutcomePrices2,
|
|
3543
3801
|
useMarketOrderbook,
|
|
3544
3802
|
useMidpoints as useMidpoints2,
|
|
3545
|
-
useSdkUiConfig as
|
|
3803
|
+
useSdkUiConfig as useSdkUiConfig5,
|
|
3546
3804
|
useVenueMarkets as useVenueMarkets2,
|
|
3547
3805
|
useViewportMidpoints
|
|
3548
3806
|
} from "@agg-build/hooks";
|
|
@@ -3610,7 +3868,7 @@ var buildVenueMarketIdByVenue = (venueMarkets) => {
|
|
|
3610
3868
|
|
|
3611
3869
|
// src/events/market-details/market-details-outcome-button.tsx
|
|
3612
3870
|
import { useAggUiConfig as useAggUiConfig2 } from "@agg-build/hooks";
|
|
3613
|
-
import { jsx as
|
|
3871
|
+
import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
3614
3872
|
var marketDetailsOutcomeButtonToneClasses = {
|
|
3615
3873
|
positive: {
|
|
3616
3874
|
activeSurface: "bg-agg-success/15",
|
|
@@ -3662,7 +3920,7 @@ var OutcomePriceContent = ({
|
|
|
3662
3920
|
}) => {
|
|
3663
3921
|
const { formatPrice } = useAggUiConfig2().formatting;
|
|
3664
3922
|
if (isLoading) {
|
|
3665
|
-
return /* @__PURE__ */
|
|
3923
|
+
return /* @__PURE__ */ jsx9(
|
|
3666
3924
|
"span",
|
|
3667
3925
|
{
|
|
3668
3926
|
"aria-hidden": "true",
|
|
@@ -3673,7 +3931,7 @@ var OutcomePriceContent = ({
|
|
|
3673
3931
|
}
|
|
3674
3932
|
);
|
|
3675
3933
|
}
|
|
3676
|
-
return /* @__PURE__ */
|
|
3934
|
+
return /* @__PURE__ */ jsx9(
|
|
3677
3935
|
Typography,
|
|
3678
3936
|
{
|
|
3679
3937
|
as: "span",
|
|
@@ -3701,7 +3959,7 @@ var MarketDetailsOutcomeButton = ({
|
|
|
3701
3959
|
});
|
|
3702
3960
|
const itemLabel = (_a = item.title) != null ? _a : item.label;
|
|
3703
3961
|
const isLineVariant = item.variant === "line";
|
|
3704
|
-
return /* @__PURE__ */
|
|
3962
|
+
return /* @__PURE__ */ jsx9(
|
|
3705
3963
|
"button",
|
|
3706
3964
|
{
|
|
3707
3965
|
type: "button",
|
|
@@ -3717,9 +3975,9 @@ var MarketDetailsOutcomeButton = ({
|
|
|
3717
3975
|
enforceFixedWidth ? "flex-none" : "flex-1 md:flex-auto"
|
|
3718
3976
|
),
|
|
3719
3977
|
onClick: () => onSelect(item.label),
|
|
3720
|
-
children: isLineVariant ? /* @__PURE__ */
|
|
3721
|
-
/* @__PURE__ */
|
|
3722
|
-
/* @__PURE__ */
|
|
3978
|
+
children: isLineVariant ? /* @__PURE__ */ jsxs7("div", { className: "flex min-w-0 max-w-full items-center justify-center gap-1.5 overflow-hidden", children: [
|
|
3979
|
+
/* @__PURE__ */ jsx9(VenueLogo, { venue: item.venue, size: "small" }),
|
|
3980
|
+
/* @__PURE__ */ jsx9(
|
|
3723
3981
|
Typography,
|
|
3724
3982
|
{
|
|
3725
3983
|
as: "span",
|
|
@@ -3728,7 +3986,7 @@ var MarketDetailsOutcomeButton = ({
|
|
|
3728
3986
|
children: itemLabel
|
|
3729
3987
|
}
|
|
3730
3988
|
),
|
|
3731
|
-
item.lineLabel ? /* @__PURE__ */
|
|
3989
|
+
item.lineLabel ? /* @__PURE__ */ jsx9(
|
|
3732
3990
|
Typography,
|
|
3733
3991
|
{
|
|
3734
3992
|
as: "span",
|
|
@@ -3737,7 +3995,7 @@ var MarketDetailsOutcomeButton = ({
|
|
|
3737
3995
|
children: item.lineLabel
|
|
3738
3996
|
}
|
|
3739
3997
|
) : null,
|
|
3740
|
-
/* @__PURE__ */
|
|
3998
|
+
/* @__PURE__ */ jsx9(
|
|
3741
3999
|
OutcomePriceContent,
|
|
3742
4000
|
{
|
|
3743
4001
|
isLoading: item.isPriceLoading,
|
|
@@ -3746,9 +4004,9 @@ var MarketDetailsOutcomeButton = ({
|
|
|
3746
4004
|
textClassName: classNames.text
|
|
3747
4005
|
}
|
|
3748
4006
|
)
|
|
3749
|
-
] }) : /* @__PURE__ */
|
|
3750
|
-
/* @__PURE__ */
|
|
3751
|
-
/* @__PURE__ */
|
|
4007
|
+
] }) : /* @__PURE__ */ jsxs7("div", { className: "inline-flex max-w-full items-center justify-center gap-1.5", children: [
|
|
4008
|
+
/* @__PURE__ */ jsx9(VenueLogo, { venue: item.venue, size: "small" }),
|
|
4009
|
+
/* @__PURE__ */ jsx9(
|
|
3752
4010
|
Typography,
|
|
3753
4011
|
{
|
|
3754
4012
|
as: "span",
|
|
@@ -3757,7 +4015,7 @@ var MarketDetailsOutcomeButton = ({
|
|
|
3757
4015
|
children: itemLabel
|
|
3758
4016
|
}
|
|
3759
4017
|
),
|
|
3760
|
-
/* @__PURE__ */
|
|
4018
|
+
/* @__PURE__ */ jsx9(
|
|
3761
4019
|
OutcomePriceContent,
|
|
3762
4020
|
{
|
|
3763
4021
|
isLoading: item.isPriceLoading,
|
|
@@ -3775,13 +4033,13 @@ MarketDetailsOutcomeButton.displayName = "MarketDetailsOutcomeButton";
|
|
|
3775
4033
|
// src/events/market-details/market-details-graph-panel.tsx
|
|
3776
4034
|
import {
|
|
3777
4035
|
CHART_TIME_RANGES as CHART_TIME_RANGES2,
|
|
3778
|
-
useLabels as
|
|
4036
|
+
useLabels as useLabels7,
|
|
3779
4037
|
useMarketChart as useMarketChart2,
|
|
3780
4038
|
useRollingChartWindow as useRollingChartWindow2,
|
|
3781
|
-
useSdkUiConfig as
|
|
4039
|
+
useSdkUiConfig as useSdkUiConfig4
|
|
3782
4040
|
} from "@agg-build/hooks";
|
|
3783
4041
|
import { useEffect as useEffect5, useMemo as useMemo6, useRef as useRef6, useState as useState4 } from "react";
|
|
3784
|
-
import { jsx as
|
|
4042
|
+
import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
3785
4043
|
var MarketDetailsGraphPanel = ({
|
|
3786
4044
|
venueMarkets,
|
|
3787
4045
|
selectedOutcomeLabel,
|
|
@@ -3796,13 +4054,13 @@ var MarketDetailsGraphPanel = ({
|
|
|
3796
4054
|
classNames
|
|
3797
4055
|
}) => {
|
|
3798
4056
|
var _a, _b, _c;
|
|
3799
|
-
const config =
|
|
4057
|
+
const config = useSdkUiConfig4();
|
|
3800
4058
|
const {
|
|
3801
4059
|
formatting: { formatPercent, formatCompactCurrency, formatPrice },
|
|
3802
4060
|
general: { theme }
|
|
3803
4061
|
} = config;
|
|
3804
4062
|
const isDarkTheme = theme === "dark";
|
|
3805
|
-
const labels =
|
|
4063
|
+
const labels = useLabels7();
|
|
3806
4064
|
const selectedTimeRange = config.chart.selectedChartTimeRange;
|
|
3807
4065
|
const setSelectedTimeRange = config.chart.setSelectedChartTimeRange;
|
|
3808
4066
|
const [chartRangeOverride, setChartRangeOverride] = useState4(null);
|
|
@@ -3936,17 +4194,17 @@ var MarketDetailsGraphPanel = ({
|
|
|
3936
4194
|
const handleRetryMarketChart = () => {
|
|
3937
4195
|
void refetchMarketChart();
|
|
3938
4196
|
};
|
|
3939
|
-
return /* @__PURE__ */
|
|
3940
|
-
hasChartError ? /* @__PURE__ */
|
|
4197
|
+
return /* @__PURE__ */ jsxs8("div", { className: cn("agg-price-chart flex flex-col gap-5 p-5", classNames == null ? void 0 : classNames.graph), children: [
|
|
4198
|
+
hasChartError ? /* @__PURE__ */ jsx10(
|
|
3941
4199
|
StateMessage,
|
|
3942
4200
|
{
|
|
3943
4201
|
title: labels.marketDetails.chartUnavailableTitle,
|
|
3944
4202
|
description: labels.marketDetails.chartUnavailableDescription,
|
|
3945
|
-
icon: /* @__PURE__ */
|
|
4203
|
+
icon: /* @__PURE__ */ jsx10(WarningIcon, {}),
|
|
3946
4204
|
onAction: handleRetryMarketChart,
|
|
3947
4205
|
classNames: { root: "min-h-[248px] px-5 py-10 md:min-h-[272px]" }
|
|
3948
4206
|
}
|
|
3949
|
-
) : /* @__PURE__ */
|
|
4207
|
+
) : /* @__PURE__ */ jsx10(
|
|
3950
4208
|
LineChart,
|
|
3951
4209
|
{
|
|
3952
4210
|
series: graphSeries,
|
|
@@ -3959,14 +4217,14 @@ var MarketDetailsGraphPanel = ({
|
|
|
3959
4217
|
showSeriesControls: chartAvailableOutcomesByVenue.length > 0 || headerOutcomeItems.length > 0,
|
|
3960
4218
|
renderSeriesControls: () => {
|
|
3961
4219
|
var _a2, _b2, _c2, _d;
|
|
3962
|
-
return /* @__PURE__ */
|
|
3963
|
-
/* @__PURE__ */
|
|
4220
|
+
return /* @__PURE__ */ jsxs8("div", { className: "agg-chart-toolbar w-full flex flex-col gap-4 md:flex-row md:items-center md:justify-between", children: [
|
|
4221
|
+
/* @__PURE__ */ jsx10("div", { className: "agg-market-venues flex flex-wrap gap-2", children: chartAvailableOutcomesByVenue.map((item) => {
|
|
3964
4222
|
const probability = formatProbabilityPercent(
|
|
3965
4223
|
wsLivePrices.get(item.outcome.id),
|
|
3966
4224
|
formatPercent
|
|
3967
4225
|
);
|
|
3968
4226
|
const isActiveVenue = selectedGraphVenue === item.venue;
|
|
3969
|
-
return /* @__PURE__ */
|
|
4227
|
+
return /* @__PURE__ */ jsxs8(
|
|
3970
4228
|
"button",
|
|
3971
4229
|
{
|
|
3972
4230
|
type: "button",
|
|
@@ -3985,14 +4243,14 @@ var MarketDetailsGraphPanel = ({
|
|
|
3985
4243
|
handleGraphVenueToggle(item.venue);
|
|
3986
4244
|
},
|
|
3987
4245
|
children: [
|
|
3988
|
-
/* @__PURE__ */
|
|
3989
|
-
/* @__PURE__ */
|
|
4246
|
+
/* @__PURE__ */ jsx10(VenueLogo, { venue: item.venue, size: "small" }),
|
|
4247
|
+
/* @__PURE__ */ jsx10("span", { className: "text-agg-base leading-agg-6 text-agg-foreground", children: probability })
|
|
3990
4248
|
]
|
|
3991
4249
|
},
|
|
3992
4250
|
`${item.market.id}-${item.outcome.id}`
|
|
3993
4251
|
);
|
|
3994
4252
|
}) }),
|
|
3995
|
-
!isOutcomeSelectionLocked ? /* @__PURE__ */
|
|
4253
|
+
!isOutcomeSelectionLocked ? /* @__PURE__ */ jsx10(
|
|
3996
4254
|
SwitchButton,
|
|
3997
4255
|
{
|
|
3998
4256
|
ariaLabel: labels.marketDetails.outcomeSelectorAria,
|
|
@@ -4022,7 +4280,7 @@ var MarketDetailsGraphPanel = ({
|
|
|
4022
4280
|
}
|
|
4023
4281
|
}
|
|
4024
4282
|
),
|
|
4025
|
-
/* @__PURE__ */
|
|
4283
|
+
/* @__PURE__ */ jsxs8(
|
|
4026
4284
|
"div",
|
|
4027
4285
|
{
|
|
4028
4286
|
className: cn(
|
|
@@ -4031,9 +4289,9 @@ var MarketDetailsGraphPanel = ({
|
|
|
4031
4289
|
classNames == null ? void 0 : classNames.footer
|
|
4032
4290
|
),
|
|
4033
4291
|
children: [
|
|
4034
|
-
/* @__PURE__ */
|
|
4035
|
-
/* @__PURE__ */
|
|
4036
|
-
/* @__PURE__ */
|
|
4292
|
+
/* @__PURE__ */ jsx10("span", { children: typeof volume !== "number" ? labels.marketDetails.volumeUnavailable : volume > 0 ? `${formatCompactCurrency(volume)} ${labels.marketDetails.meta.volumeSuffix}` : "" }),
|
|
4293
|
+
/* @__PURE__ */ jsxs8("div", { className: "flex flex-wrap items-center gap-3 md:gap-4", children: [
|
|
4294
|
+
/* @__PURE__ */ jsx10(
|
|
4037
4295
|
ChartTypeSwitch,
|
|
4038
4296
|
{
|
|
4039
4297
|
className: "agg-chart-type-switch shrink-0",
|
|
@@ -4041,11 +4299,11 @@ var MarketDetailsGraphPanel = ({
|
|
|
4041
4299
|
onValueChange: setSelectedChartType
|
|
4042
4300
|
}
|
|
4043
4301
|
),
|
|
4044
|
-
/* @__PURE__ */
|
|
4302
|
+
/* @__PURE__ */ jsx10("span", { "aria-hidden": "true", className: "hidden h-4 w-px bg-agg-separator md:block" }),
|
|
4045
4303
|
CHART_TIME_RANGES2.map((timeRange) => {
|
|
4046
4304
|
const isActive = effectiveChartTimeRange === timeRange;
|
|
4047
4305
|
const isDisabled = isResolvedMarket && timeRange !== "ALL";
|
|
4048
|
-
return /* @__PURE__ */
|
|
4306
|
+
return /* @__PURE__ */ jsx10(
|
|
4049
4307
|
"button",
|
|
4050
4308
|
{
|
|
4051
4309
|
type: "button",
|
|
@@ -4079,14 +4337,14 @@ var MarketDetailsGraphPanel = ({
|
|
|
4079
4337
|
MarketDetailsGraphPanel.displayName = "MarketDetailsGraphPanel";
|
|
4080
4338
|
|
|
4081
4339
|
// src/events/market-details/index.tsx
|
|
4082
|
-
import { Fragment as Fragment2, jsx as
|
|
4340
|
+
import { Fragment as Fragment2, jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
4083
4341
|
var MarketDetailsUnavailableState = ({
|
|
4084
4342
|
marketId,
|
|
4085
4343
|
ariaLabel,
|
|
4086
4344
|
classNames
|
|
4087
4345
|
}) => {
|
|
4088
|
-
const labels =
|
|
4089
|
-
return /* @__PURE__ */
|
|
4346
|
+
const labels = useLabels8();
|
|
4347
|
+
return /* @__PURE__ */ jsx11(
|
|
4090
4348
|
Card,
|
|
4091
4349
|
{
|
|
4092
4350
|
"data-market-id": marketId || void 0,
|
|
@@ -4097,9 +4355,9 @@ var MarketDetailsUnavailableState = ({
|
|
|
4097
4355
|
),
|
|
4098
4356
|
role: "status",
|
|
4099
4357
|
"aria-label": ariaLabel != null ? ariaLabel : labels.marketDetails.unavailableAria,
|
|
4100
|
-
children: /* @__PURE__ */
|
|
4101
|
-
/* @__PURE__ */
|
|
4102
|
-
/* @__PURE__ */
|
|
4358
|
+
children: /* @__PURE__ */ jsxs9("div", { className: "flex flex-col gap-1 p-5", children: [
|
|
4359
|
+
/* @__PURE__ */ jsx11(Typography, { variant: "body-large-strong", children: labels.marketDetails.unavailableTitle }),
|
|
4360
|
+
/* @__PURE__ */ jsx11(Typography, { variant: "label", className: "text-agg-muted-foreground", children: labels.marketDetails.unavailableDescription })
|
|
4103
4361
|
] })
|
|
4104
4362
|
}
|
|
4105
4363
|
);
|
|
@@ -4109,14 +4367,14 @@ var MarketDetailsNotFoundState = ({
|
|
|
4109
4367
|
ariaLabel: _ariaLabel,
|
|
4110
4368
|
classNames: _classNames
|
|
4111
4369
|
}) => {
|
|
4112
|
-
const labels =
|
|
4113
|
-
return /* @__PURE__ */
|
|
4370
|
+
const labels = useLabels8();
|
|
4371
|
+
return /* @__PURE__ */ jsx11(
|
|
4114
4372
|
StateMessage,
|
|
4115
4373
|
{
|
|
4116
4374
|
"data-market-id": marketId || void 0,
|
|
4117
4375
|
title: labels.marketDetails.notFoundTitle,
|
|
4118
4376
|
description: labels.marketDetails.notFoundDescription,
|
|
4119
|
-
icon: /* @__PURE__ */
|
|
4377
|
+
icon: /* @__PURE__ */ jsx11(SearchEmptyIcon, {}),
|
|
4120
4378
|
classNames: { root: "min-h-[280px] md:min-h-[320px]" }
|
|
4121
4379
|
}
|
|
4122
4380
|
);
|
|
@@ -4141,18 +4399,19 @@ var MarketDetailsContent = ({
|
|
|
4141
4399
|
headerOutcomeItemsOverride,
|
|
4142
4400
|
onOutcomeSelect,
|
|
4143
4401
|
live,
|
|
4402
|
+
showResolvingState = false,
|
|
4144
4403
|
midpointsFallback,
|
|
4145
4404
|
midpointsFallbackVenues,
|
|
4146
4405
|
suppressOutcomeFallbackSelection,
|
|
4147
4406
|
midpointsResult
|
|
4148
4407
|
}) => {
|
|
4149
4408
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
4150
|
-
const config =
|
|
4409
|
+
const config = useSdkUiConfig5();
|
|
4151
4410
|
const {
|
|
4152
4411
|
features: { enableAnimations },
|
|
4153
4412
|
formatting: { formatPercent }
|
|
4154
4413
|
} = config;
|
|
4155
|
-
const labels =
|
|
4414
|
+
const labels = useLabels8();
|
|
4156
4415
|
const tradingContext = useEventTradingContext2();
|
|
4157
4416
|
const detailsContentId = useId();
|
|
4158
4417
|
const tradeSide = (_a = tradingContext == null ? void 0 : tradingContext.tradeSide) != null ? _a : "buy";
|
|
@@ -4186,26 +4445,6 @@ var MarketDetailsContent = ({
|
|
|
4186
4445
|
[clusterBestPricesRest, wsBestPrices]
|
|
4187
4446
|
);
|
|
4188
4447
|
const clusterBestPriceVenuesByOutcomeId = clusterMidpointResult.bestPriceVenuesByOutcomeId;
|
|
4189
|
-
const clusterMidpointMarkets = useMemo7(() => {
|
|
4190
|
-
var _a2;
|
|
4191
|
-
if (!resolvedMarket) return [];
|
|
4192
|
-
return (_a2 = resolvedMarket.venueMarkets) != null ? _a2 : [];
|
|
4193
|
-
}, [resolvedMarket]);
|
|
4194
|
-
const tradableVenues = useMemo7(() => {
|
|
4195
|
-
var _a2;
|
|
4196
|
-
if (clusterMidpointMarkets.length === 0) return null;
|
|
4197
|
-
const set = /* @__PURE__ */ new Set();
|
|
4198
|
-
for (const market of clusterMidpointMarkets) {
|
|
4199
|
-
for (const outcome of (_a2 = market.venueMarketOutcomes) != null ? _a2 : []) {
|
|
4200
|
-
if (clusterMidpoints.has(outcome.id)) {
|
|
4201
|
-
set.add(market.venue);
|
|
4202
|
-
break;
|
|
4203
|
-
}
|
|
4204
|
-
}
|
|
4205
|
-
}
|
|
4206
|
-
if (set.size === 0) return null;
|
|
4207
|
-
return set;
|
|
4208
|
-
}, [clusterMidpointMarkets, clusterMidpoints]);
|
|
4209
4448
|
const model = useMemo7(() => {
|
|
4210
4449
|
return buildMarketDetailsModel({
|
|
4211
4450
|
venueMarkets,
|
|
@@ -4239,7 +4478,7 @@ var MarketDetailsContent = ({
|
|
|
4239
4478
|
const marketTradingState = useMemo7(() => {
|
|
4240
4479
|
return resolveMarketTradingState2(scopedMarketForCard);
|
|
4241
4480
|
}, [scopedMarketForCard]);
|
|
4242
|
-
const isOutcomeSelectionLocked = marketTradingState.isTradingDisabled;
|
|
4481
|
+
const isOutcomeSelectionLocked = showResolvingState || marketTradingState.isTradingDisabled;
|
|
4243
4482
|
const isUpcomingMarket = marketTradingState.kind === "unopened";
|
|
4244
4483
|
const marketStatePresentation = resolveTradingStatePresentation(labels, marketTradingState);
|
|
4245
4484
|
const resolvedWinningOutcomeLabel = resolveResolvedOutcomeLabel({
|
|
@@ -4363,6 +4602,7 @@ var MarketDetailsContent = ({
|
|
|
4363
4602
|
clusterBestMidpointsByOutcomeId,
|
|
4364
4603
|
clusterBestPricesRest,
|
|
4365
4604
|
clusterBestPriceVenuesByOutcomeId,
|
|
4605
|
+
clusterMidpointResult.isLoading,
|
|
4366
4606
|
headerOutcomeItemsOverride,
|
|
4367
4607
|
model,
|
|
4368
4608
|
scopedMarketForCard,
|
|
@@ -4526,11 +4766,16 @@ var MarketDetailsContent = ({
|
|
|
4526
4766
|
const handleRetryOrderBook = () => {
|
|
4527
4767
|
void refetchOrderBook();
|
|
4528
4768
|
};
|
|
4529
|
-
const orderbookState =
|
|
4769
|
+
const orderbookState = showResolvingState ? {
|
|
4770
|
+
kind: "disabled",
|
|
4771
|
+
title: labels.marketDetails.resolvingTitle,
|
|
4772
|
+
description: labels.marketDetails.resolvingDescription,
|
|
4773
|
+
icon: /* @__PURE__ */ jsx11(LoadingIcon, { size: "small" })
|
|
4774
|
+
} : marketTradingState.isTradingDisabled ? {
|
|
4530
4775
|
kind: "disabled",
|
|
4531
4776
|
title: marketStatePresentation.title,
|
|
4532
4777
|
description: marketStatePresentation.description,
|
|
4533
|
-
icon: /* @__PURE__ */
|
|
4778
|
+
icon: /* @__PURE__ */ jsx11(Icon, { name: marketStatePresentation.iconName, className: "h-5 w-5", "aria-hidden": "true" })
|
|
4534
4779
|
} : isOrderBookLoading ? { kind: "loading" } : hasOrderBookError ? {
|
|
4535
4780
|
kind: "error",
|
|
4536
4781
|
title: labels.marketDetails.orderBookUnavailableTitle,
|
|
@@ -4546,7 +4791,7 @@ var MarketDetailsContent = ({
|
|
|
4546
4791
|
description: labels.marketDetails.orderBookEmptyDescription
|
|
4547
4792
|
} : { kind: "data" };
|
|
4548
4793
|
if (marketId && !resolvedMarket) {
|
|
4549
|
-
return /* @__PURE__ */
|
|
4794
|
+
return /* @__PURE__ */ jsx11(
|
|
4550
4795
|
MarketDetailsNotFoundState,
|
|
4551
4796
|
{
|
|
4552
4797
|
marketId,
|
|
@@ -4556,7 +4801,7 @@ var MarketDetailsContent = ({
|
|
|
4556
4801
|
);
|
|
4557
4802
|
}
|
|
4558
4803
|
if (!model) {
|
|
4559
|
-
return /* @__PURE__ */
|
|
4804
|
+
return /* @__PURE__ */ jsx11(
|
|
4560
4805
|
MarketDetailsUnavailableState,
|
|
4561
4806
|
{
|
|
4562
4807
|
marketId,
|
|
@@ -4565,18 +4810,18 @@ var MarketDetailsContent = ({
|
|
|
4565
4810
|
}
|
|
4566
4811
|
);
|
|
4567
4812
|
}
|
|
4568
|
-
return /* @__PURE__ */
|
|
4813
|
+
return /* @__PURE__ */ jsxs9(
|
|
4569
4814
|
Card,
|
|
4570
4815
|
{
|
|
4571
4816
|
className: cn(
|
|
4572
4817
|
"group/agg-market-card",
|
|
4573
4818
|
"w-full rounded-agg-2xl text-left outline-none",
|
|
4574
|
-
marketTradingState.isTradingDisabled && "agg-market-card-readonly",
|
|
4819
|
+
(showResolvingState || marketTradingState.isTradingDisabled) && "agg-market-card-readonly",
|
|
4575
4820
|
marketDetailsBaseCardClassName,
|
|
4576
4821
|
classNames == null ? void 0 : classNames.root
|
|
4577
4822
|
),
|
|
4578
4823
|
children: [
|
|
4579
|
-
/* @__PURE__ */
|
|
4824
|
+
/* @__PURE__ */ jsxs9(
|
|
4580
4825
|
"div",
|
|
4581
4826
|
{
|
|
4582
4827
|
"data-market-id": marketId || void 0,
|
|
@@ -4587,7 +4832,7 @@ var MarketDetailsContent = ({
|
|
|
4587
4832
|
classNames == null ? void 0 : classNames.header
|
|
4588
4833
|
),
|
|
4589
4834
|
children: [
|
|
4590
|
-
/* @__PURE__ */
|
|
4835
|
+
/* @__PURE__ */ jsxs9(
|
|
4591
4836
|
"button",
|
|
4592
4837
|
{
|
|
4593
4838
|
className: cn(
|
|
@@ -4601,8 +4846,8 @@ var MarketDetailsContent = ({
|
|
|
4601
4846
|
"aria-controls": detailsContentId,
|
|
4602
4847
|
"aria-label": isOpened ? labels.marketDetails.toggleCloseDetailsAria(model.title) : labels.marketDetails.toggleOpenDetailsAria(model.title),
|
|
4603
4848
|
children: [
|
|
4604
|
-
/* @__PURE__ */
|
|
4605
|
-
!compactHeader ? /* @__PURE__ */
|
|
4849
|
+
/* @__PURE__ */ jsxs9("div", { className: "agg-market-summary flex min-w-24 flex-1 items-center gap-3 md:gap-4", children: [
|
|
4850
|
+
!compactHeader ? /* @__PURE__ */ jsx11(
|
|
4606
4851
|
RemoteImage,
|
|
4607
4852
|
{
|
|
4608
4853
|
src: optimizedImageUrl3(model.image, 60),
|
|
@@ -4610,8 +4855,8 @@ var MarketDetailsContent = ({
|
|
|
4610
4855
|
className: "agg-market-image size-12 rounded-agg-lg object-cover md:size-[60px]"
|
|
4611
4856
|
}
|
|
4612
4857
|
) : null,
|
|
4613
|
-
/* @__PURE__ */
|
|
4614
|
-
/* @__PURE__ */
|
|
4858
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex min-w-24 flex-col", children: [
|
|
4859
|
+
/* @__PURE__ */ jsx11(Tooltip, { content: model.title, side: "top", children: /* @__PURE__ */ jsx11("div", { className: "min-w-0", children: /* @__PURE__ */ jsx11(
|
|
4615
4860
|
Typography,
|
|
4616
4861
|
{
|
|
4617
4862
|
as: "h3",
|
|
@@ -4620,7 +4865,7 @@ var MarketDetailsContent = ({
|
|
|
4620
4865
|
children: model.title
|
|
4621
4866
|
}
|
|
4622
4867
|
) }) }),
|
|
4623
|
-
/* @__PURE__ */
|
|
4868
|
+
/* @__PURE__ */ jsx11("div", { className: "flex items-center gap-3", children: /* @__PURE__ */ jsx11(
|
|
4624
4869
|
Typography,
|
|
4625
4870
|
{
|
|
4626
4871
|
variant: "label",
|
|
@@ -4628,8 +4873,8 @@ var MarketDetailsContent = ({
|
|
|
4628
4873
|
children: subtitleOverride != null ? subtitleOverride : model.subtitle
|
|
4629
4874
|
}
|
|
4630
4875
|
) }),
|
|
4631
|
-
marketTradingState.isTradingDisabled && marketTradingState.kind !== "resolved" && !isUpcomingMarket ? /* @__PURE__ */
|
|
4632
|
-
/* @__PURE__ */
|
|
4876
|
+
!showResolvingState && marketTradingState.isTradingDisabled && marketTradingState.kind !== "resolved" && !isUpcomingMarket ? /* @__PURE__ */ jsxs9("div", { className: "mt-2 flex flex-wrap items-center gap-2 justify-center md:justify-start", children: [
|
|
4877
|
+
/* @__PURE__ */ jsxs9(
|
|
4633
4878
|
"span",
|
|
4634
4879
|
{
|
|
4635
4880
|
className: cn(
|
|
@@ -4637,7 +4882,7 @@ var MarketDetailsContent = ({
|
|
|
4637
4882
|
resolveTradingStateBadgeClassName(marketTradingState.kind)
|
|
4638
4883
|
),
|
|
4639
4884
|
children: [
|
|
4640
|
-
/* @__PURE__ */
|
|
4885
|
+
/* @__PURE__ */ jsx11(
|
|
4641
4886
|
Icon,
|
|
4642
4887
|
{
|
|
4643
4888
|
name: marketStatePresentation.iconName,
|
|
@@ -4645,20 +4890,23 @@ var MarketDetailsContent = ({
|
|
|
4645
4890
|
className: "h-3.5 w-3.5"
|
|
4646
4891
|
}
|
|
4647
4892
|
),
|
|
4648
|
-
/* @__PURE__ */
|
|
4893
|
+
/* @__PURE__ */ jsx11("span", { children: marketStatePresentation.badgeLabel })
|
|
4649
4894
|
]
|
|
4650
4895
|
}
|
|
4651
4896
|
),
|
|
4652
|
-
marketStatePresentation.timestampLabel ? /* @__PURE__ */
|
|
4653
|
-
marketStatePresentation.winningOutcomeLabel ? /* @__PURE__ */
|
|
4897
|
+
marketStatePresentation.timestampLabel ? /* @__PURE__ */ jsx11(Typography, { variant: "label", className: "text-agg-muted-foreground", children: marketStatePresentation.timestampLabel }) : null,
|
|
4898
|
+
marketStatePresentation.winningOutcomeLabel ? /* @__PURE__ */ jsx11(Typography, { variant: "label", className: "text-agg-muted-foreground", children: marketStatePresentation.winningOutcomeLabel }) : null
|
|
4654
4899
|
] }) : null
|
|
4655
4900
|
] })
|
|
4656
4901
|
] }),
|
|
4657
|
-
!compactHeader ? /* @__PURE__ */
|
|
4902
|
+
!compactHeader ? /* @__PURE__ */ jsx11(Typography, { as: "div", variant: "heading", className: "agg-market-headline shrink-0", children: formatProbabilityPercent(headlineProbability, formatPercent) }) : null
|
|
4658
4903
|
]
|
|
4659
4904
|
}
|
|
4660
4905
|
),
|
|
4661
|
-
|
|
4906
|
+
showResolvingState ? /* @__PURE__ */ jsx11("div", { className: "agg-outcomes flex w-full items-center justify-end md:w-auto md:shrink-0", children: /* @__PURE__ */ jsxs9("span", { className: "inline-flex h-9 min-w-35 items-center justify-center gap-2 rounded-agg-full bg-agg-secondary-hover px-5 py-1.5 text-agg-sm", children: [
|
|
4907
|
+
/* @__PURE__ */ jsx11(LoadingIcon, { size: "small" }),
|
|
4908
|
+
/* @__PURE__ */ jsx11(Typography, { variant: "body", children: labels.marketDetails.resolvingBadge })
|
|
4909
|
+
] }) }) : marketTradingState.kind === "resolved" && marketTradingState.winningOutcome ? /* @__PURE__ */ jsx11("div", { className: "agg-outcomes flex w-full items-center justify-end md:w-auto md:shrink-0", children: /* @__PURE__ */ jsxs9(
|
|
4662
4910
|
"span",
|
|
4663
4911
|
{
|
|
4664
4912
|
className: cn(
|
|
@@ -4671,7 +4919,7 @@ var MarketDetailsContent = ({
|
|
|
4671
4919
|
"border-transparent bg-agg-secondary-hover"
|
|
4672
4920
|
),
|
|
4673
4921
|
children: [
|
|
4674
|
-
/* @__PURE__ */
|
|
4922
|
+
/* @__PURE__ */ jsx11(
|
|
4675
4923
|
Icon,
|
|
4676
4924
|
{
|
|
4677
4925
|
name: marketTradingState.winningOutcome.label.trim().toLowerCase() === "yes" ? "check-circle" : "cross-circle",
|
|
@@ -4682,12 +4930,12 @@ var MarketDetailsContent = ({
|
|
|
4682
4930
|
)
|
|
4683
4931
|
}
|
|
4684
4932
|
),
|
|
4685
|
-
/* @__PURE__ */
|
|
4933
|
+
/* @__PURE__ */ jsx11(Typography, { variant: "body", children: labels.eventMarketPage.resolvedOutcome(
|
|
4686
4934
|
resolvedWinningOutcomeLabel != null ? resolvedWinningOutcomeLabel : marketTradingState.winningOutcome.label
|
|
4687
4935
|
) })
|
|
4688
4936
|
]
|
|
4689
4937
|
}
|
|
4690
|
-
) }) : isUpcomingMarket ? /* @__PURE__ */
|
|
4938
|
+
) }) : isUpcomingMarket ? /* @__PURE__ */ jsx11("div", { className: "agg-outcomes flex w-full items-center justify-end md:w-auto md:shrink-0", children: /* @__PURE__ */ jsxs9(
|
|
4691
4939
|
"span",
|
|
4692
4940
|
{
|
|
4693
4941
|
className: cn(
|
|
@@ -4696,7 +4944,7 @@ var MarketDetailsContent = ({
|
|
|
4696
4944
|
resolveTradingStateBadgeClassName(marketTradingState.kind)
|
|
4697
4945
|
),
|
|
4698
4946
|
children: [
|
|
4699
|
-
/* @__PURE__ */
|
|
4947
|
+
/* @__PURE__ */ jsx11(
|
|
4700
4948
|
Icon,
|
|
4701
4949
|
{
|
|
4702
4950
|
name: marketStatePresentation.iconName,
|
|
@@ -4705,10 +4953,10 @@ var MarketDetailsContent = ({
|
|
|
4705
4953
|
"aria-hidden": "true"
|
|
4706
4954
|
}
|
|
4707
4955
|
),
|
|
4708
|
-
/* @__PURE__ */
|
|
4956
|
+
/* @__PURE__ */ jsx11("span", { children: marketStatePresentation.badgeLabel })
|
|
4709
4957
|
]
|
|
4710
4958
|
}
|
|
4711
|
-
) }) : /* @__PURE__ */
|
|
4959
|
+
) }) : /* @__PURE__ */ jsx11(
|
|
4712
4960
|
"div",
|
|
4713
4961
|
{
|
|
4714
4962
|
className: "agg-outcomes flex w-full flex-wrap gap-2 md:w-auto md:shrink-0 md:flex-nowrap",
|
|
@@ -4717,7 +4965,7 @@ var MarketDetailsContent = ({
|
|
|
4717
4965
|
onKeyDown: (eventToHandle) => handleOutcomeKeyDown(eventToHandle),
|
|
4718
4966
|
children: headerOutcomeItems.map((item) => {
|
|
4719
4967
|
const isActiveOutcome = item.id === selectedOutcomeId;
|
|
4720
|
-
return /* @__PURE__ */
|
|
4968
|
+
return /* @__PURE__ */ jsx11(
|
|
4721
4969
|
MarketDetailsOutcomeButton,
|
|
4722
4970
|
{
|
|
4723
4971
|
enforceFixedWidth: headerOutcomeVariant != null,
|
|
@@ -4744,8 +4992,8 @@ var MarketDetailsContent = ({
|
|
|
4744
4992
|
]
|
|
4745
4993
|
}
|
|
4746
4994
|
),
|
|
4747
|
-
headerAccessory ? /* @__PURE__ */
|
|
4748
|
-
/* @__PURE__ */
|
|
4995
|
+
headerAccessory ? /* @__PURE__ */ jsx11("div", { className: "agg-market-card-accessory border-t border-agg-separator", children: headerAccessory }) : null,
|
|
4996
|
+
/* @__PURE__ */ jsx11(
|
|
4749
4997
|
"div",
|
|
4750
4998
|
{
|
|
4751
4999
|
id: detailsContentId,
|
|
@@ -4759,9 +5007,9 @@ var MarketDetailsContent = ({
|
|
|
4759
5007
|
isOpened ? "grid-rows-[1fr] opacity-100" : "pointer-events-none grid-rows-[0fr] opacity-0"
|
|
4760
5008
|
),
|
|
4761
5009
|
"aria-hidden": !isOpened,
|
|
4762
|
-
children: /* @__PURE__ */
|
|
4763
|
-
/* @__PURE__ */
|
|
4764
|
-
/* @__PURE__ */
|
|
5010
|
+
children: /* @__PURE__ */ jsxs9("div", { className: "min-h-0", children: [
|
|
5011
|
+
/* @__PURE__ */ jsx11("div", { className: "h-px w-full bg-agg-separator" }),
|
|
5012
|
+
/* @__PURE__ */ jsxs9(
|
|
4765
5013
|
"div",
|
|
4766
5014
|
{
|
|
4767
5015
|
className: cn(
|
|
@@ -4775,8 +5023,8 @@ var MarketDetailsContent = ({
|
|
|
4775
5023
|
) : "translate-y-5 opacity-0"
|
|
4776
5024
|
),
|
|
4777
5025
|
children: [
|
|
4778
|
-
!isResolvedMarket ? /* @__PURE__ */
|
|
4779
|
-
/* @__PURE__ */
|
|
5026
|
+
!isResolvedMarket ? /* @__PURE__ */ jsxs9(Fragment2, { children: [
|
|
5027
|
+
/* @__PURE__ */ jsx11("div", { className: cn("block", classNames == null ? void 0 : classNames.tabs), children: /* @__PURE__ */ jsx11(
|
|
4780
5028
|
Tabs,
|
|
4781
5029
|
{
|
|
4782
5030
|
ariaLabel: labels.marketDetails.tabsAria,
|
|
@@ -4787,10 +5035,10 @@ var MarketDetailsContent = ({
|
|
|
4787
5035
|
className: "agg-market-tabs flex! w-full px-5"
|
|
4788
5036
|
}
|
|
4789
5037
|
) }),
|
|
4790
|
-
/* @__PURE__ */
|
|
5038
|
+
/* @__PURE__ */ jsx11("div", { className: "h-px w-full bg-agg-separator" })
|
|
4791
5039
|
] }) : null,
|
|
4792
|
-
/* @__PURE__ */
|
|
4793
|
-
effectiveSelectedTab === "order-book" ? /* @__PURE__ */
|
|
5040
|
+
/* @__PURE__ */ jsxs9("div", { className: cn("agg-market-card-body p-0", classNames == null ? void 0 : classNames.content), children: [
|
|
5041
|
+
effectiveSelectedTab === "order-book" ? /* @__PURE__ */ jsx11(
|
|
4794
5042
|
OrderbookWithStates,
|
|
4795
5043
|
{
|
|
4796
5044
|
state: orderbookState,
|
|
@@ -4816,7 +5064,7 @@ var MarketDetailsContent = ({
|
|
|
4816
5064
|
wrapperClassName: classNames == null ? void 0 : classNames.orderBook
|
|
4817
5065
|
}
|
|
4818
5066
|
) : null,
|
|
4819
|
-
isOpened && effectiveSelectedTab === "graph" ? /* @__PURE__ */
|
|
5067
|
+
isOpened && effectiveSelectedTab === "graph" ? /* @__PURE__ */ jsx11(
|
|
4820
5068
|
MarketDetailsGraphPanel,
|
|
4821
5069
|
{
|
|
4822
5070
|
venueMarkets: model.market.venueMarkets,
|
|
@@ -4832,13 +5080,13 @@ var MarketDetailsContent = ({
|
|
|
4832
5080
|
classNames: { graph: classNames == null ? void 0 : classNames.graph, footer: classNames == null ? void 0 : classNames.footer }
|
|
4833
5081
|
}
|
|
4834
5082
|
) : null,
|
|
4835
|
-
effectiveSelectedTab === "other" ? /* @__PURE__ */
|
|
5083
|
+
effectiveSelectedTab === "other" ? /* @__PURE__ */ jsx11("div", { className: "agg-market-meta flex flex-col gap-4", children: otherContent != null ? otherContent : /* @__PURE__ */ jsx11("div", { className: "agg-market-meta-list grid grid-cols-1 gap-3", children: otherRows.map((row) => /* @__PURE__ */ jsxs9(
|
|
4836
5084
|
"div",
|
|
4837
5085
|
{
|
|
4838
5086
|
className: "agg-market-meta-row flex items-center justify-between rounded-agg-xl bg-agg-secondary-hover px-4 py-3",
|
|
4839
5087
|
children: [
|
|
4840
|
-
/* @__PURE__ */
|
|
4841
|
-
/* @__PURE__ */
|
|
5088
|
+
/* @__PURE__ */ jsx11(Typography, { variant: "label", className: "text-agg-muted-foreground", children: row.label }),
|
|
5089
|
+
/* @__PURE__ */ jsx11(Typography, { variant: "body", className: "text-right", children: row.value })
|
|
4842
5090
|
]
|
|
4843
5091
|
},
|
|
4844
5092
|
row.label
|
|
@@ -4856,9 +5104,9 @@ var MarketDetailsContent = ({
|
|
|
4856
5104
|
};
|
|
4857
5105
|
var MarketDetails = (_a) => {
|
|
4858
5106
|
var _b = _a, { isOpened } = _b, props = __objRest(_b, ["isOpened"]);
|
|
4859
|
-
const labels =
|
|
5107
|
+
const labels = useLabels8();
|
|
4860
5108
|
if (props.isLoading) {
|
|
4861
|
-
return /* @__PURE__ */
|
|
5109
|
+
return /* @__PURE__ */ jsx11(
|
|
4862
5110
|
Skeleton,
|
|
4863
5111
|
{
|
|
4864
5112
|
view: "market-details-minified",
|
|
@@ -4868,7 +5116,7 @@ var MarketDetails = (_a) => {
|
|
|
4868
5116
|
);
|
|
4869
5117
|
}
|
|
4870
5118
|
if ("venueMarkets" in props && props.venueMarkets) {
|
|
4871
|
-
return /* @__PURE__ */
|
|
5119
|
+
return /* @__PURE__ */ jsx11(
|
|
4872
5120
|
MarketDetailsContent,
|
|
4873
5121
|
__spreadProps(__spreadValues({}, props), {
|
|
4874
5122
|
isOpened,
|
|
@@ -4880,7 +5128,7 @@ var MarketDetails = (_a) => {
|
|
|
4880
5128
|
);
|
|
4881
5129
|
}
|
|
4882
5130
|
const { classNames: fallbackClassNames } = props;
|
|
4883
|
-
return /* @__PURE__ */
|
|
5131
|
+
return /* @__PURE__ */ jsx11(MarketDetailsUnavailableState, { classNames: fallbackClassNames });
|
|
4884
5132
|
};
|
|
4885
5133
|
MarketDetails.displayName = "MarketDetails";
|
|
4886
5134
|
var AFFIRMATIVE_WINNER_LABELS = /* @__PURE__ */ new Set(["yes", "up", "buy", "long", "true"]);
|
|
@@ -4934,10 +5182,11 @@ var MarketDetailsList = ({
|
|
|
4934
5182
|
defaultTab,
|
|
4935
5183
|
classNames,
|
|
4936
5184
|
live,
|
|
5185
|
+
showResolvingState = false,
|
|
4937
5186
|
midpointsResult
|
|
4938
5187
|
}) => {
|
|
4939
5188
|
var _a, _b;
|
|
4940
|
-
const labels =
|
|
5189
|
+
const labels = useLabels8();
|
|
4941
5190
|
const tradingContext = useEventTradingContext2();
|
|
4942
5191
|
const selectedMarketId = (_a = tradingContext == null ? void 0 : tradingContext.selectedMarketId) != null ? _a : null;
|
|
4943
5192
|
const [expandedMarketId, setExpandedMarketId] = useState5(null);
|
|
@@ -4985,6 +5234,7 @@ var MarketDetailsList = ({
|
|
|
4985
5234
|
const winnerMarketId = resolveResolvedWinnerMarketId(sourceMarkets, eventTradingState);
|
|
4986
5235
|
return {
|
|
4987
5236
|
primary: moveMarketToFront(sourceMarkets, winnerMarketId),
|
|
5237
|
+
closed: [],
|
|
4988
5238
|
upcoming: [],
|
|
4989
5239
|
resolved: []
|
|
4990
5240
|
};
|
|
@@ -5017,8 +5267,12 @@ var MarketDetailsList = ({
|
|
|
5017
5267
|
return [];
|
|
5018
5268
|
}, [areResolvedMarketsVisible, groupedMarkets.resolved, isResolvedEvent]);
|
|
5019
5269
|
const displayedMarkets = useMemo7(() => {
|
|
5020
|
-
return [
|
|
5021
|
-
|
|
5270
|
+
return [
|
|
5271
|
+
...groupedMarkets.primary,
|
|
5272
|
+
...showResolvingState ? groupedMarkets.closed : [],
|
|
5273
|
+
...visibleResolvedMarkets
|
|
5274
|
+
];
|
|
5275
|
+
}, [groupedMarkets.closed, groupedMarkets.primary, showResolvingState, visibleResolvedMarkets]);
|
|
5022
5276
|
const hasPrefetchedMarkets = !!providedMarkets || !!((_b = eventTradingState == null ? void 0 : eventTradingState.marketStates) == null ? void 0 : _b.length);
|
|
5023
5277
|
const midpointEligibleMarkets = useMemo7(() => {
|
|
5024
5278
|
return displayedMarkets.filter(
|
|
@@ -5070,7 +5324,7 @@ var MarketDetailsList = ({
|
|
|
5070
5324
|
tradingContext == null ? void 0 : tradingContext.selectMarket(market.id, market);
|
|
5071
5325
|
};
|
|
5072
5326
|
if (!hasPrefetchedMarkets && isLoading) {
|
|
5073
|
-
return /* @__PURE__ */
|
|
5327
|
+
return /* @__PURE__ */ jsx11(
|
|
5074
5328
|
Skeleton,
|
|
5075
5329
|
{
|
|
5076
5330
|
view: "market-details-minified",
|
|
@@ -5080,29 +5334,29 @@ var MarketDetailsList = ({
|
|
|
5080
5334
|
);
|
|
5081
5335
|
}
|
|
5082
5336
|
if (!hasPrefetchedMarkets && error) {
|
|
5083
|
-
return /* @__PURE__ */
|
|
5337
|
+
return /* @__PURE__ */ jsx11(
|
|
5084
5338
|
StateMessage,
|
|
5085
5339
|
{
|
|
5086
5340
|
title: labels.marketDetails.unavailableTitle,
|
|
5087
5341
|
description: labels.marketDetails.unavailableDescription,
|
|
5088
|
-
icon: /* @__PURE__ */
|
|
5342
|
+
icon: /* @__PURE__ */ jsx11(SearchEmptyIcon, {}),
|
|
5089
5343
|
classNames: { root: "min-h-[280px] md:min-h-[320px]" }
|
|
5090
5344
|
}
|
|
5091
5345
|
);
|
|
5092
5346
|
}
|
|
5093
5347
|
if (displayedMarkets.length === 0 && !shouldShowResolvedToggle) {
|
|
5094
5348
|
const hasSourceMarkets = sourceMarkets.length > 0;
|
|
5095
|
-
return /* @__PURE__ */
|
|
5349
|
+
return /* @__PURE__ */ jsx11(
|
|
5096
5350
|
StateMessage,
|
|
5097
5351
|
{
|
|
5098
5352
|
title: hasSourceMarkets ? isResolvedEvent ? labels.markets.emptyResolved : labels.markets.emptyNoOpen : labels.marketDetails.notFoundTitle,
|
|
5099
5353
|
description: hasSourceMarkets ? void 0 : labels.marketDetails.notFoundDescription,
|
|
5100
|
-
icon: /* @__PURE__ */
|
|
5354
|
+
icon: /* @__PURE__ */ jsx11(SearchEmptyIcon, {}),
|
|
5101
5355
|
classNames: { root: "min-h-[280px] md:min-h-[320px]" }
|
|
5102
5356
|
}
|
|
5103
5357
|
);
|
|
5104
5358
|
}
|
|
5105
|
-
const renderMarketCard = (market) => /* @__PURE__ */
|
|
5359
|
+
const renderMarketCard = (market) => /* @__PURE__ */ jsx11("div", { children: /* @__PURE__ */ jsx11(
|
|
5106
5360
|
MarketDetails,
|
|
5107
5361
|
{
|
|
5108
5362
|
marketId: market.id,
|
|
@@ -5124,14 +5378,16 @@ var MarketDetailsList = ({
|
|
|
5124
5378
|
ariaLabel: market.question,
|
|
5125
5379
|
classNames: { root: cn("agg-market-list-item", classNames == null ? void 0 : classNames.item) },
|
|
5126
5380
|
live,
|
|
5381
|
+
showResolvingState,
|
|
5127
5382
|
midpointsFallback,
|
|
5128
5383
|
midpointsFallbackVenues,
|
|
5129
5384
|
midpointsResult
|
|
5130
5385
|
}
|
|
5131
5386
|
) }, market.id);
|
|
5132
|
-
return /* @__PURE__ */
|
|
5387
|
+
return /* @__PURE__ */ jsxs9("div", { className: cn("agg-market-list flex flex-col gap-3", classNames == null ? void 0 : classNames.root), children: [
|
|
5133
5388
|
groupedMarkets.primary.map((market) => renderMarketCard(market)),
|
|
5134
|
-
|
|
5389
|
+
showResolvingState ? groupedMarkets.closed.map((market) => renderMarketCard(market)) : null,
|
|
5390
|
+
shouldShowResolvedToggle ? /* @__PURE__ */ jsx11(
|
|
5135
5391
|
Button,
|
|
5136
5392
|
{
|
|
5137
5393
|
variant: "tertiary",
|
|
@@ -5141,7 +5397,7 @@ var MarketDetailsList = ({
|
|
|
5141
5397
|
setAreResolvedMarketsVisible((isVisible) => !isVisible);
|
|
5142
5398
|
},
|
|
5143
5399
|
"aria-expanded": areResolvedMarketsVisible,
|
|
5144
|
-
suffix: /* @__PURE__ */
|
|
5400
|
+
suffix: /* @__PURE__ */ jsx11(
|
|
5145
5401
|
Icon,
|
|
5146
5402
|
{
|
|
5147
5403
|
name: areResolvedMarketsVisible ? "chevron-up" : "chevron-down",
|
|
@@ -5165,18 +5421,18 @@ import {
|
|
|
5165
5421
|
useAppConfig as useAppConfig2,
|
|
5166
5422
|
useCategories,
|
|
5167
5423
|
useCategoryChildren,
|
|
5168
|
-
useLabels as
|
|
5169
|
-
useSdkUiConfig as
|
|
5424
|
+
useLabels as useLabels10,
|
|
5425
|
+
useSdkUiConfig as useSdkUiConfig6,
|
|
5170
5426
|
useVenueEvents,
|
|
5171
5427
|
useVenueMarketMidpoints as useVenueMarketMidpoints2
|
|
5172
5428
|
} from "@agg-build/hooks";
|
|
5173
5429
|
import { VENUES } from "@agg-build/sdk";
|
|
5174
5430
|
import * as Dialog from "@radix-ui/react-dialog";
|
|
5175
|
-
import { useEffect as useEffect8, useMemo as useMemo10, useRef as useRef8, useState as useState7 } from "react";
|
|
5431
|
+
import { useCallback as useCallback4, useEffect as useEffect8, useMemo as useMemo10, useRef as useRef8, useState as useState7 } from "react";
|
|
5176
5432
|
|
|
5177
5433
|
// src/events/list/category-sidebar.tsx
|
|
5178
5434
|
import { useMemo as useMemo8 } from "react";
|
|
5179
|
-
import { jsx as
|
|
5435
|
+
import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
5180
5436
|
var rowBase = cn(
|
|
5181
5437
|
"flex min-h-11 w-full items-center gap-3 rounded-[6px] px-3 py-3",
|
|
5182
5438
|
"text-left text-agg-sm font-agg-normal leading-agg-5",
|
|
@@ -5218,7 +5474,7 @@ var CategorySidebar = ({
|
|
|
5218
5474
|
}) => {
|
|
5219
5475
|
var _a, _b;
|
|
5220
5476
|
const hasKnownChildren = ((_b = (_a = childrenByParentId.get(entry.id)) == null ? void 0 : _a.length) != null ? _b : 0) > 0;
|
|
5221
|
-
return /* @__PURE__ */
|
|
5477
|
+
return /* @__PURE__ */ jsxs10(
|
|
5222
5478
|
"button",
|
|
5223
5479
|
{
|
|
5224
5480
|
type: "button",
|
|
@@ -5226,8 +5482,8 @@ var CategorySidebar = ({
|
|
|
5226
5482
|
className: isSelected ? selectedRowClassName : idleRowClassName,
|
|
5227
5483
|
onClick,
|
|
5228
5484
|
children: [
|
|
5229
|
-
/* @__PURE__ */
|
|
5230
|
-
hasKnownChildren ? /* @__PURE__ */
|
|
5485
|
+
/* @__PURE__ */ jsx12("span", { className: "min-w-0 flex-1 truncate first-letter:uppercase", children: entry.label }),
|
|
5486
|
+
hasKnownChildren ? /* @__PURE__ */ jsx12(
|
|
5231
5487
|
Icon,
|
|
5232
5488
|
{
|
|
5233
5489
|
name: isExpanded ? "chevron-up" : "chevron-down",
|
|
@@ -5235,7 +5491,7 @@ var CategorySidebar = ({
|
|
|
5235
5491
|
color: "currentColor",
|
|
5236
5492
|
className: "shrink-0 text-agg-muted-foreground"
|
|
5237
5493
|
}
|
|
5238
|
-
) : /* @__PURE__ */
|
|
5494
|
+
) : /* @__PURE__ */ jsx12("span", { className: "shrink-0 text-agg-muted-foreground", children: entry.eventCount })
|
|
5239
5495
|
]
|
|
5240
5496
|
},
|
|
5241
5497
|
entry.id
|
|
@@ -5253,27 +5509,27 @@ var CategorySidebar = ({
|
|
|
5253
5509
|
const hasKnownChildren = childCategories.length > 0;
|
|
5254
5510
|
const isExpanded = ((_d = categoryPath[depth]) == null ? void 0 : _d.id) === category.id && !collapsedCategoryIds.has(category.id);
|
|
5255
5511
|
const isSelected = ((_e = categoryPath[depth]) == null ? void 0 : _e.id) === category.id && categoryPath.length === depth + 1;
|
|
5256
|
-
return /* @__PURE__ */
|
|
5512
|
+
return /* @__PURE__ */ jsxs10("div", { className: "flex w-full flex-col", children: [
|
|
5257
5513
|
renderRow({
|
|
5258
5514
|
entry,
|
|
5259
5515
|
isExpanded,
|
|
5260
5516
|
isSelected,
|
|
5261
5517
|
onClick: () => onToggleCategory({ entry, depth, hasKnownChildren, isExpanded, isSelected })
|
|
5262
5518
|
}),
|
|
5263
|
-
/* @__PURE__ */
|
|
5519
|
+
/* @__PURE__ */ jsx12(
|
|
5264
5520
|
"div",
|
|
5265
5521
|
{
|
|
5266
5522
|
className: cn(
|
|
5267
5523
|
"grid transition-[grid-template-rows] duration-150 ease-in-out motion-reduce:transition-none",
|
|
5268
5524
|
isExpanded ? "grid-rows-[1fr]" : "grid-rows-[0fr]"
|
|
5269
5525
|
),
|
|
5270
|
-
children: /* @__PURE__ */
|
|
5526
|
+
children: /* @__PURE__ */ jsx12("div", { className: "overflow-hidden", children: /* @__PURE__ */ jsx12("div", { className: "flex w-full flex-col gap-1 pl-4 pt-1", children: childCategories.map((child) => renderBranch(child, depth + 1)) }) })
|
|
5271
5527
|
}
|
|
5272
5528
|
)
|
|
5273
5529
|
] }, category.id);
|
|
5274
5530
|
};
|
|
5275
|
-
return /* @__PURE__ */
|
|
5276
|
-
/* @__PURE__ */
|
|
5531
|
+
return /* @__PURE__ */ jsxs10("div", { className: "flex w-full flex-col gap-1", children: [
|
|
5532
|
+
/* @__PURE__ */ jsxs10(
|
|
5277
5533
|
"button",
|
|
5278
5534
|
{
|
|
5279
5535
|
type: "button",
|
|
@@ -5281,8 +5537,8 @@ var CategorySidebar = ({
|
|
|
5281
5537
|
className: !isDrilledIn ? selectedRowClassName : idleRowClassName,
|
|
5282
5538
|
onClick: onSelectAll,
|
|
5283
5539
|
children: [
|
|
5284
|
-
/* @__PURE__ */
|
|
5285
|
-
/* @__PURE__ */
|
|
5540
|
+
/* @__PURE__ */ jsx12("span", { className: "min-w-0 flex-1 truncate", children: labels.subcategoriesAll }),
|
|
5541
|
+
/* @__PURE__ */ jsx12("span", { className: "shrink-0 text-agg-muted-foreground", children: totalEventCount })
|
|
5286
5542
|
]
|
|
5287
5543
|
}
|
|
5288
5544
|
),
|
|
@@ -5292,13 +5548,20 @@ var CategorySidebar = ({
|
|
|
5292
5548
|
CategorySidebar.displayName = "CategorySidebar";
|
|
5293
5549
|
|
|
5294
5550
|
// src/events/list/event-list-tabs.tsx
|
|
5295
|
-
import { getVenueAvailabilityState, useAppConfig, useGeoBlock, useLabels as
|
|
5296
|
-
import { isVenueInactive } from "@agg-build/sdk";
|
|
5551
|
+
import { getVenueAvailabilityState, useAppConfig, useGeoBlock, useLabels as useLabels9 } from "@agg-build/hooks";
|
|
5552
|
+
import { getEffectiveDisabledVenues, isVenueInactive } from "@agg-build/sdk";
|
|
5297
5553
|
import { useCallback as useCallback3, useEffect as useEffect7, useMemo as useMemo9, useRef as useRef7, useState as useState6 } from "react";
|
|
5298
5554
|
|
|
5299
5555
|
// src/events/list/event-list.constants.ts
|
|
5300
5556
|
import { MatchStatus, Venue as Venue2 } from "@agg-build/sdk";
|
|
5301
5557
|
var DEFAULT_EVENTS_LIMIT = 50;
|
|
5558
|
+
var DEFAULT_EVENT_LIST_SORT = "volume24hr";
|
|
5559
|
+
var EVENT_LIST_SORT_VALUES = [
|
|
5560
|
+
"volume24hr",
|
|
5561
|
+
"topArbitrage",
|
|
5562
|
+
"volume",
|
|
5563
|
+
"endDate"
|
|
5564
|
+
];
|
|
5302
5565
|
var getDefaultEventListTabs = (labels) => {
|
|
5303
5566
|
return [
|
|
5304
5567
|
{
|
|
@@ -5367,16 +5630,17 @@ var getDefaultEventListTabs = (labels) => {
|
|
|
5367
5630
|
};
|
|
5368
5631
|
|
|
5369
5632
|
// src/events/list/event-list-tabs.tsx
|
|
5370
|
-
import { jsx as
|
|
5633
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
5634
|
+
var DEFAULT_HIDDEN_VENUES = new Set(getEffectiveDisabledVenues(void 0));
|
|
5371
5635
|
var renderTabIcon = (tab, isActive) => {
|
|
5372
5636
|
if (tab.iconName === "warning-filled") {
|
|
5373
|
-
return /* @__PURE__ */
|
|
5637
|
+
return /* @__PURE__ */ jsx13(Icon, { name: "warning-filled", size: "small", color: "currentColor" });
|
|
5374
5638
|
}
|
|
5375
5639
|
if (tab.venueLogo) {
|
|
5376
|
-
return /* @__PURE__ */
|
|
5640
|
+
return /* @__PURE__ */ jsx13(VenueLogo, { venue: tab.venueLogo, size: "small" });
|
|
5377
5641
|
}
|
|
5378
5642
|
if (!tab.iconName) return null;
|
|
5379
|
-
return /* @__PURE__ */
|
|
5643
|
+
return /* @__PURE__ */ jsx13(
|
|
5380
5644
|
Icon,
|
|
5381
5645
|
{
|
|
5382
5646
|
name: tab.iconName,
|
|
@@ -5386,7 +5650,7 @@ var renderTabIcon = (tab, isActive) => {
|
|
|
5386
5650
|
);
|
|
5387
5651
|
};
|
|
5388
5652
|
var useEventListTabs = (tabs) => {
|
|
5389
|
-
const labels =
|
|
5653
|
+
const labels = useLabels9();
|
|
5390
5654
|
const { disabledVenues, isLoading: isAppConfigLoading } = useAppConfig();
|
|
5391
5655
|
const { isLocationBlocked } = useGeoBlock();
|
|
5392
5656
|
return useMemo9(() => {
|
|
@@ -5396,14 +5660,11 @@ var useEventListTabs = (tabs) => {
|
|
|
5396
5660
|
const availabilityState = getVenueAvailabilityState({
|
|
5397
5661
|
venueId: tab.venueLogo,
|
|
5398
5662
|
disabledVenues,
|
|
5399
|
-
//
|
|
5400
|
-
//
|
|
5401
|
-
//
|
|
5402
|
-
//
|
|
5403
|
-
|
|
5404
|
-
// rather than a venue name, so adding or retiring one needs no
|
|
5405
|
-
// change here.
|
|
5406
|
-
isConfigLoading: isAppConfigLoading && isVenueInactive(tab.venueLogo),
|
|
5663
|
+
// A globally inactive or default-disabled venue is hidden until
|
|
5664
|
+
// `/app/config` resolves. That prevents partner-opt-in venues such as
|
|
5665
|
+
// Novig from flashing briefly for apps that still disable them, while
|
|
5666
|
+
// ordinary active venues continue rendering immediately.
|
|
5667
|
+
isConfigLoading: isAppConfigLoading && (isVenueInactive(tab.venueLogo) || DEFAULT_HIDDEN_VENUES.has(tab.venueLogo)),
|
|
5407
5668
|
isLocationBlocked
|
|
5408
5669
|
});
|
|
5409
5670
|
if (availabilityState === "hidden") return [];
|
|
@@ -5444,7 +5705,7 @@ var EventListTabs = ({
|
|
|
5444
5705
|
};
|
|
5445
5706
|
});
|
|
5446
5707
|
}, [activeTab, resolvedTabs]);
|
|
5447
|
-
return /* @__PURE__ */
|
|
5708
|
+
return /* @__PURE__ */ jsx13(
|
|
5448
5709
|
Tabs,
|
|
5449
5710
|
{
|
|
5450
5711
|
ariaLabel,
|
|
@@ -5530,7 +5791,7 @@ var useEventListTabsHeaderOverflow = (recomputeOn, options) => {
|
|
|
5530
5791
|
};
|
|
5531
5792
|
|
|
5532
5793
|
// src/events/list/index.tsx
|
|
5533
|
-
import { jsx as
|
|
5794
|
+
import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
5534
5795
|
var SORT_ICON_BY_VALUE = {
|
|
5535
5796
|
volume24hr: "sort-volume-24hr",
|
|
5536
5797
|
topArbitrage: "sort-top-arbitrage",
|
|
@@ -5581,49 +5842,79 @@ var EventList = ({
|
|
|
5581
5842
|
getMarketHref,
|
|
5582
5843
|
getEventHref,
|
|
5583
5844
|
initialVenueTab,
|
|
5845
|
+
activeVenueTab: controlledActiveVenueTab,
|
|
5846
|
+
onActiveVenueTabChange,
|
|
5847
|
+
selectedSort: controlledSelectedSort,
|
|
5848
|
+
onSelectedSortChange,
|
|
5849
|
+
categoryPath: controlledCategoryPath,
|
|
5850
|
+
onCategoryPathChange,
|
|
5584
5851
|
initialLoadedPageCount,
|
|
5585
5852
|
stateRef
|
|
5586
5853
|
}) => {
|
|
5587
|
-
var _a, _b, _c, _d, _e;
|
|
5588
|
-
const labels =
|
|
5854
|
+
var _a, _b, _c, _d, _e, _f;
|
|
5855
|
+
const labels = useLabels10();
|
|
5589
5856
|
const { disabledVenues } = useAppConfig2();
|
|
5590
5857
|
const {
|
|
5591
5858
|
features: { enableVenueEventDiscoveryFilters, showSportsMarkets }
|
|
5592
|
-
} =
|
|
5859
|
+
} = useSdkUiConfig6();
|
|
5593
5860
|
const isDiscoveryFiltersEnabled = enableVenueEventDiscoveryFilters && !search;
|
|
5594
5861
|
const resolvedTabs = useEventListTabs();
|
|
5595
5862
|
const visibleVenues = useMemo10(
|
|
5596
5863
|
() => disabledVenues.length === 0 ? void 0 : getVisibleVenueIdsByConfig(VENUES, disabledVenues),
|
|
5597
5864
|
[disabledVenues]
|
|
5598
5865
|
);
|
|
5599
|
-
const [
|
|
5866
|
+
const [internalActiveTabValue, setInternalActiveTabValue] = useState7(
|
|
5600
5867
|
(_b = initialVenueTab != null ? initialVenueTab : (_a = resolvedTabs[0]) == null ? void 0 : _a.value) != null ? _b : "matched"
|
|
5601
5868
|
);
|
|
5602
|
-
const
|
|
5869
|
+
const activeTabValue = controlledActiveVenueTab != null ? controlledActiveVenueTab : internalActiveTabValue;
|
|
5870
|
+
const [internalSelectedSort, setInternalSelectedSort] = useState7(DEFAULT_EVENT_LIST_SORT);
|
|
5871
|
+
const selectedSort = controlledSelectedSort != null ? controlledSelectedSort : internalSelectedSort;
|
|
5603
5872
|
const [isSubcategoriesModalOpen, setIsSubcategoriesModalOpen] = useState7(false);
|
|
5604
|
-
const [
|
|
5873
|
+
const [internalCategoryPath, setInternalCategoryPath] = useState7([]);
|
|
5874
|
+
const categoryPath = controlledCategoryPath != null ? controlledCategoryPath : internalCategoryPath;
|
|
5605
5875
|
const [collapsedCategoryIds, setCollapsedCategoryIds] = useState7(() => /* @__PURE__ */ new Set());
|
|
5876
|
+
const handleActiveTabChange = useCallback4(
|
|
5877
|
+
(value) => {
|
|
5878
|
+
if (controlledActiveVenueTab == null) setInternalActiveTabValue(value);
|
|
5879
|
+
onActiveVenueTabChange == null ? void 0 : onActiveVenueTabChange(value, { history: "push" });
|
|
5880
|
+
},
|
|
5881
|
+
[controlledActiveVenueTab, onActiveVenueTabChange]
|
|
5882
|
+
);
|
|
5883
|
+
const handleSelectedSortChange = useCallback4(
|
|
5884
|
+
(value) => {
|
|
5885
|
+
if (controlledSelectedSort == null) setInternalSelectedSort(value);
|
|
5886
|
+
onSelectedSortChange == null ? void 0 : onSelectedSortChange(value, { history: "push" });
|
|
5887
|
+
},
|
|
5888
|
+
[controlledSelectedSort, onSelectedSortChange]
|
|
5889
|
+
);
|
|
5890
|
+
const handleCategoryPathChange = useCallback4(
|
|
5891
|
+
(value, options) => {
|
|
5892
|
+
if (controlledCategoryPath == null) setInternalCategoryPath(value);
|
|
5893
|
+
onCategoryPathChange == null ? void 0 : onCategoryPathChange(value, options);
|
|
5894
|
+
},
|
|
5895
|
+
[controlledCategoryPath, onCategoryPathChange]
|
|
5896
|
+
);
|
|
5606
5897
|
const sortItems = useMemo10(() => {
|
|
5607
5898
|
return [
|
|
5608
5899
|
{
|
|
5609
5900
|
value: "volume24hr",
|
|
5610
5901
|
label: labels.eventList.sortBy24hVolume,
|
|
5611
|
-
icon: /* @__PURE__ */
|
|
5902
|
+
icon: /* @__PURE__ */ jsx14(Icon, { name: SORT_ICON_BY_VALUE.volume24hr, size: "small", color: "currentColor" })
|
|
5612
5903
|
},
|
|
5613
5904
|
{
|
|
5614
5905
|
value: "topArbitrage",
|
|
5615
5906
|
label: labels.eventList.sortByTopArbitrage,
|
|
5616
|
-
icon: /* @__PURE__ */
|
|
5907
|
+
icon: /* @__PURE__ */ jsx14(Icon, { name: SORT_ICON_BY_VALUE.topArbitrage, size: "small", color: "currentColor" })
|
|
5617
5908
|
},
|
|
5618
5909
|
{
|
|
5619
5910
|
value: "volume",
|
|
5620
5911
|
label: labels.eventList.sortByTotalVolume,
|
|
5621
|
-
icon: /* @__PURE__ */
|
|
5912
|
+
icon: /* @__PURE__ */ jsx14(Icon, { name: SORT_ICON_BY_VALUE.volume, size: "small", color: "currentColor" })
|
|
5622
5913
|
},
|
|
5623
5914
|
{
|
|
5624
5915
|
value: "endDate",
|
|
5625
5916
|
label: labels.eventList.sortByEndingSoon,
|
|
5626
|
-
icon: /* @__PURE__ */
|
|
5917
|
+
icon: /* @__PURE__ */ jsx14(Icon, { name: SORT_ICON_BY_VALUE.endDate, size: "small", color: "currentColor" })
|
|
5627
5918
|
}
|
|
5628
5919
|
];
|
|
5629
5920
|
}, [
|
|
@@ -5635,9 +5926,9 @@ var EventList = ({
|
|
|
5635
5926
|
const baseCategoryId = (_c = categoryIds == null ? void 0 : categoryIds[0]) != null ? _c : null;
|
|
5636
5927
|
useEffect8(() => {
|
|
5637
5928
|
if (!isDiscoveryFiltersEnabled) return;
|
|
5638
|
-
|
|
5929
|
+
if (controlledCategoryPath == null) setInternalCategoryPath([]);
|
|
5639
5930
|
setCollapsedCategoryIds(/* @__PURE__ */ new Set());
|
|
5640
|
-
}, [baseCategoryId, isDiscoveryFiltersEnabled]);
|
|
5931
|
+
}, [baseCategoryId, controlledCategoryPath, isDiscoveryFiltersEnabled]);
|
|
5641
5932
|
const { categories: topLevelCategories } = useCategories({
|
|
5642
5933
|
queryKeyScope: "event-list-top-categories",
|
|
5643
5934
|
enabled: isDiscoveryFiltersEnabled,
|
|
@@ -5649,12 +5940,13 @@ var EventList = ({
|
|
|
5649
5940
|
const baseCategoryChildPrefetchIds = useMemo10(() => {
|
|
5650
5941
|
return Array.from(
|
|
5651
5942
|
/* @__PURE__ */ new Set([
|
|
5943
|
+
...baseCategoryId ? [baseCategoryId] : [],
|
|
5652
5944
|
...sortedTopLevelCategories.map((category) => category.id),
|
|
5653
5945
|
...categoryPath.map((category) => category.id)
|
|
5654
5946
|
])
|
|
5655
5947
|
);
|
|
5656
|
-
}, [categoryPath, sortedTopLevelCategories]);
|
|
5657
|
-
const { childrenByParentId: baseChildrenByParentId } = useCategoryChildren({
|
|
5948
|
+
}, [baseCategoryId, categoryPath, sortedTopLevelCategories]);
|
|
5949
|
+
const { childrenByParentId: baseChildrenByParentId, isLoading: isBaseCategoryChildrenLoading } = useCategoryChildren({
|
|
5658
5950
|
queryKeyScope: "event-list-category-children",
|
|
5659
5951
|
enabled: isDiscoveryFiltersEnabled,
|
|
5660
5952
|
parentIds: baseCategoryChildPrefetchIds,
|
|
@@ -5704,7 +5996,36 @@ var EventList = ({
|
|
|
5704
5996
|
...visibleGrandchildrenByParentId
|
|
5705
5997
|
]);
|
|
5706
5998
|
}, [baseChildrenByParentId, visibleChildrenByParentId, visibleGrandchildrenByParentId]);
|
|
5707
|
-
const
|
|
5999
|
+
const controlledCategoryPathKey = (_d = controlledCategoryPath == null ? void 0 : controlledCategoryPath.map((entry) => entry.id).join(",")) != null ? _d : "";
|
|
6000
|
+
const controlledCategoryPathValidationKey = `${baseCategoryId != null ? baseCategoryId : ""}|${controlledCategoryPathKey}`;
|
|
6001
|
+
const [validatedCategoryPathKey, setValidatedCategoryPathKey] = useState7(
|
|
6002
|
+
() => controlledCategoryPath == null || controlledCategoryPath.length === 0 ? controlledCategoryPathValidationKey : ""
|
|
6003
|
+
);
|
|
6004
|
+
useEffect8(() => {
|
|
6005
|
+
if (controlledCategoryPath == null || controlledCategoryPath.length === 0) {
|
|
6006
|
+
setValidatedCategoryPathKey(controlledCategoryPathValidationKey);
|
|
6007
|
+
return;
|
|
6008
|
+
}
|
|
6009
|
+
if (isBaseCategoryChildrenLoading) return;
|
|
6010
|
+
const requestedIds = controlledCategoryPath.map((entry) => entry.id);
|
|
6011
|
+
const validIds = validateSubcategoryPath(requestedIds, baseCategoryId, baseChildrenByParentId);
|
|
6012
|
+
if (validIds.length !== requestedIds.length) {
|
|
6013
|
+
handleCategoryPathChange(controlledCategoryPath.slice(0, validIds.length), {
|
|
6014
|
+
history: "replace"
|
|
6015
|
+
});
|
|
6016
|
+
return;
|
|
6017
|
+
}
|
|
6018
|
+
setValidatedCategoryPathKey(controlledCategoryPathValidationKey);
|
|
6019
|
+
}, [
|
|
6020
|
+
baseCategoryId,
|
|
6021
|
+
baseChildrenByParentId,
|
|
6022
|
+
controlledCategoryPath,
|
|
6023
|
+
controlledCategoryPathKey,
|
|
6024
|
+
controlledCategoryPathValidationKey,
|
|
6025
|
+
handleCategoryPathChange,
|
|
6026
|
+
isBaseCategoryChildrenLoading
|
|
6027
|
+
]);
|
|
6028
|
+
const shouldRenderSubcategoryFilters = isDiscoveryFiltersEnabled && baseCategoryId !== null && (((_f = (_e = childrenByParentId.get(baseCategoryId)) == null ? void 0 : _e.length) != null ? _f : 0) > 0 || categoryPath.length > 0);
|
|
5708
6029
|
const baseCategoryEventCount = useMemo10(() => {
|
|
5709
6030
|
var _a2, _b2;
|
|
5710
6031
|
return (_b2 = (_a2 = sortedTopLevelCategories.find((c) => c.id === baseCategoryId)) == null ? void 0 : _a2.eventCount) != null ? _b2 : 0;
|
|
@@ -5762,7 +6083,8 @@ var EventList = ({
|
|
|
5762
6083
|
// markets experience is enabled (the sports event-detail view loads the
|
|
5763
6084
|
// folded companions via aggKey). Gated on the same flag as that view.
|
|
5764
6085
|
grouped: showSportsMarkets,
|
|
5765
|
-
initialPages: initialLoadedPageCount
|
|
6086
|
+
initialPages: initialLoadedPageCount,
|
|
6087
|
+
enabled: controlledCategoryPath == null || validatedCategoryPathKey === controlledCategoryPathValidationKey
|
|
5766
6088
|
});
|
|
5767
6089
|
useEffect8(() => {
|
|
5768
6090
|
if (stateRef) {
|
|
@@ -5823,7 +6145,7 @@ var EventList = ({
|
|
|
5823
6145
|
"grid grid-cols-[repeat(auto-fill,minmax(240px,1fr))] md:grid-cols-[repeat(auto-fill,minmax(360px,1fr))] gap-4"
|
|
5824
6146
|
);
|
|
5825
6147
|
const handleSelectAllCategories = () => {
|
|
5826
|
-
|
|
6148
|
+
handleCategoryPathChange([], { history: "push" });
|
|
5827
6149
|
setCollapsedCategoryIds(/* @__PURE__ */ new Set());
|
|
5828
6150
|
onCategoryRootChange == null ? void 0 : onCategoryRootChange(baseCategoryId != null ? baseCategoryId : void 0);
|
|
5829
6151
|
setIsSubcategoriesModalOpen(false);
|
|
@@ -5835,7 +6157,7 @@ var EventList = ({
|
|
|
5835
6157
|
isExpanded,
|
|
5836
6158
|
isSelected
|
|
5837
6159
|
}) => {
|
|
5838
|
-
|
|
6160
|
+
handleCategoryPathChange([...categoryPath.slice(0, depth), entry], { history: "push" });
|
|
5839
6161
|
setCollapsedCategoryIds((prev) => {
|
|
5840
6162
|
const next = new Set(prev);
|
|
5841
6163
|
if (hasKnownChildren && isExpanded && isSelected) {
|
|
@@ -5848,7 +6170,7 @@ var EventList = ({
|
|
|
5848
6170
|
onCategoryRootChange == null ? void 0 : onCategoryRootChange(baseCategoryId != null ? baseCategoryId : void 0);
|
|
5849
6171
|
};
|
|
5850
6172
|
if (shouldRenderLoadingState) {
|
|
5851
|
-
return /* @__PURE__ */
|
|
6173
|
+
return /* @__PURE__ */ jsx14(
|
|
5852
6174
|
Skeleton,
|
|
5853
6175
|
{
|
|
5854
6176
|
view: "event-list",
|
|
@@ -5857,8 +6179,8 @@ var EventList = ({
|
|
|
5857
6179
|
}
|
|
5858
6180
|
);
|
|
5859
6181
|
}
|
|
5860
|
-
return /* @__PURE__ */
|
|
5861
|
-
/* @__PURE__ */
|
|
6182
|
+
return /* @__PURE__ */ jsxs11("section", { className: "agg-event-list flex w-full flex-col gap-2 md:gap-5 t", children: [
|
|
6183
|
+
/* @__PURE__ */ jsxs11(
|
|
5862
6184
|
"header",
|
|
5863
6185
|
{
|
|
5864
6186
|
className: cn(
|
|
@@ -5867,25 +6189,25 @@ var EventList = ({
|
|
|
5867
6189
|
"gap-2 sm:flex-row sm:items-center sm:gap-4"
|
|
5868
6190
|
),
|
|
5869
6191
|
children: [
|
|
5870
|
-
/* @__PURE__ */
|
|
5871
|
-
/* @__PURE__ */
|
|
5872
|
-
/* @__PURE__ */
|
|
6192
|
+
/* @__PURE__ */ jsx14("div", { className: "agg-event-list-title min-w-32", children: /* @__PURE__ */ jsx14(Typography, { as: "h2", variant: "title", className: "truncate first-letter:uppercase", children: title }) }),
|
|
6193
|
+
/* @__PURE__ */ jsxs11("div", { className: "hidden min-w-0 max-w-full items-center gap-3 md:flex", children: [
|
|
6194
|
+
/* @__PURE__ */ jsx14(
|
|
5873
6195
|
EventListTabs,
|
|
5874
6196
|
{
|
|
5875
6197
|
ariaLabel: labels.eventList.tabsAria(title),
|
|
5876
6198
|
className: "agg-event-list-tabs min-w-0 flex-1 max-w-[600px]!",
|
|
5877
6199
|
activeTab: activeTabValue,
|
|
5878
|
-
onTabChange:
|
|
6200
|
+
onTabChange: handleActiveTabChange,
|
|
5879
6201
|
overflowBehavior: "scroll"
|
|
5880
6202
|
}
|
|
5881
6203
|
),
|
|
5882
|
-
/* @__PURE__ */
|
|
6204
|
+
/* @__PURE__ */ jsx14(
|
|
5883
6205
|
Select,
|
|
5884
6206
|
{
|
|
5885
6207
|
ariaLabel: labels.eventList.sortByLabel,
|
|
5886
6208
|
className: "min-w-[200px] w-auto! shrink-0 min-h-10.5",
|
|
5887
6209
|
value: selectedSort,
|
|
5888
|
-
onChange:
|
|
6210
|
+
onChange: handleSelectedSortChange,
|
|
5889
6211
|
items: sortItems,
|
|
5890
6212
|
contentClassName: "py-2",
|
|
5891
6213
|
triggerClassName: "rounded-agg-lg!"
|
|
@@ -5895,45 +6217,45 @@ var EventList = ({
|
|
|
5895
6217
|
]
|
|
5896
6218
|
}
|
|
5897
6219
|
),
|
|
5898
|
-
/* @__PURE__ */
|
|
5899
|
-
/* @__PURE__ */
|
|
6220
|
+
/* @__PURE__ */ jsxs11("div", { className: "flex w-full gap-2 md:hidden mb-3", children: [
|
|
6221
|
+
/* @__PURE__ */ jsx14(
|
|
5900
6222
|
EventListTabs,
|
|
5901
6223
|
{
|
|
5902
6224
|
ariaLabel: labels.eventList.tabsAria(title),
|
|
5903
6225
|
className: "agg-event-list-tabs min-w-0 flex-1",
|
|
5904
6226
|
activeTab: activeTabValue,
|
|
5905
|
-
onTabChange:
|
|
6227
|
+
onTabChange: handleActiveTabChange,
|
|
5906
6228
|
overflowBehavior: "select"
|
|
5907
6229
|
}
|
|
5908
6230
|
),
|
|
5909
|
-
/* @__PURE__ */
|
|
6231
|
+
/* @__PURE__ */ jsx14(
|
|
5910
6232
|
Select,
|
|
5911
6233
|
{
|
|
5912
6234
|
ariaLabel: labels.eventList.sortByLabel,
|
|
5913
6235
|
className: "min-w-0 flex-1 md:min-w-[144px]",
|
|
5914
6236
|
value: selectedSort,
|
|
5915
|
-
onChange:
|
|
6237
|
+
onChange: handleSelectedSortChange,
|
|
5916
6238
|
items: sortItems,
|
|
5917
6239
|
contentClassName: "rounded-[12px] py-2 shadow-[0_8px_16px_rgba(0,0,0,0.1)]"
|
|
5918
6240
|
}
|
|
5919
6241
|
),
|
|
5920
|
-
shouldRenderSubcategoryFilters ? /* @__PURE__ */
|
|
6242
|
+
shouldRenderSubcategoryFilters ? /* @__PURE__ */ jsx14(
|
|
5921
6243
|
"button",
|
|
5922
6244
|
{
|
|
5923
6245
|
type: "button",
|
|
5924
6246
|
className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-[8px] border-2 border-agg-primary bg-agg-secondary text-agg-foreground cursor-pointer",
|
|
5925
6247
|
"aria-label": labels.eventList.subcategoriesOpenAria,
|
|
5926
6248
|
onClick: () => setIsSubcategoriesModalOpen(true),
|
|
5927
|
-
children: /* @__PURE__ */
|
|
6249
|
+
children: /* @__PURE__ */ jsx14(Icon, { name: "apps", size: "small", color: "currentColor" })
|
|
5928
6250
|
}
|
|
5929
6251
|
) : null
|
|
5930
6252
|
] }),
|
|
5931
|
-
/* @__PURE__ */
|
|
6253
|
+
/* @__PURE__ */ jsxs11(
|
|
5932
6254
|
"div",
|
|
5933
6255
|
{
|
|
5934
6256
|
className: cn("flex w-full gap-6", shouldRenderSubcategoryFilters ? "md:items-start" : ""),
|
|
5935
6257
|
children: [
|
|
5936
|
-
shouldRenderSubcategoryFilters ? /* @__PURE__ */
|
|
6258
|
+
shouldRenderSubcategoryFilters ? /* @__PURE__ */ jsx14("aside", { className: "hidden w-[200px] shrink-0 md:block self-start sticky top-4", children: /* @__PURE__ */ jsx14("div", { className: "agg-sidebar max-h-[calc(100vh-19rem)] overflow-y-auto rounded-[8px] border border-agg-separator bg-agg-secondary p-2", children: /* @__PURE__ */ jsx14(
|
|
5937
6259
|
CategorySidebar,
|
|
5938
6260
|
{
|
|
5939
6261
|
baseCategoryId,
|
|
@@ -5946,7 +6268,7 @@ var EventList = ({
|
|
|
5946
6268
|
onToggleCategory: handleToggleSubcategory
|
|
5947
6269
|
}
|
|
5948
6270
|
) }) }) : null,
|
|
5949
|
-
/* @__PURE__ */
|
|
6271
|
+
/* @__PURE__ */ jsxs11(
|
|
5950
6272
|
"div",
|
|
5951
6273
|
{
|
|
5952
6274
|
className: cn(
|
|
@@ -5957,7 +6279,7 @@ var EventList = ({
|
|
|
5957
6279
|
gridClassName
|
|
5958
6280
|
),
|
|
5959
6281
|
children: [
|
|
5960
|
-
tileEvents.map((event) => /* @__PURE__ */
|
|
6282
|
+
tileEvents.map((event) => /* @__PURE__ */ jsx14(
|
|
5961
6283
|
EventListItem,
|
|
5962
6284
|
{
|
|
5963
6285
|
event,
|
|
@@ -5974,7 +6296,7 @@ var EventList = ({
|
|
|
5974
6296
|
},
|
|
5975
6297
|
event.id
|
|
5976
6298
|
)),
|
|
5977
|
-
shouldRenderPaginationLoadingItems ? Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */
|
|
6299
|
+
shouldRenderPaginationLoadingItems ? Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ jsx14(
|
|
5978
6300
|
EventListItem,
|
|
5979
6301
|
{
|
|
5980
6302
|
isLoading: true,
|
|
@@ -5984,20 +6306,20 @@ var EventList = ({
|
|
|
5984
6306
|
},
|
|
5985
6307
|
`loading-${index}`
|
|
5986
6308
|
)) : null,
|
|
5987
|
-
shouldRenderEmptyState ? /* @__PURE__ */
|
|
6309
|
+
shouldRenderEmptyState ? /* @__PURE__ */ jsx14("div", { className: "col-span-full w-full", children: /* @__PURE__ */ jsx14(
|
|
5988
6310
|
StateMessage,
|
|
5989
6311
|
{
|
|
5990
6312
|
title: labels.eventList.emptyTitle,
|
|
5991
6313
|
description: labels.eventList.emptyDescription,
|
|
5992
|
-
icon: /* @__PURE__ */
|
|
6314
|
+
icon: /* @__PURE__ */ jsx14(Icon, { name: "search-empty" })
|
|
5993
6315
|
}
|
|
5994
6316
|
) }) : null,
|
|
5995
|
-
isError ? /* @__PURE__ */
|
|
6317
|
+
isError ? /* @__PURE__ */ jsx14("div", { className: "col-span-full w-full", children: /* @__PURE__ */ jsx14(
|
|
5996
6318
|
StateMessage,
|
|
5997
6319
|
{
|
|
5998
6320
|
title: labels.eventList.errorTitle,
|
|
5999
6321
|
description: labels.eventList.errorDescription,
|
|
6000
|
-
icon: /* @__PURE__ */
|
|
6322
|
+
icon: /* @__PURE__ */ jsx14(Icon, { name: "warning" })
|
|
6001
6323
|
}
|
|
6002
6324
|
) }) : null
|
|
6003
6325
|
]
|
|
@@ -6006,7 +6328,7 @@ var EventList = ({
|
|
|
6006
6328
|
]
|
|
6007
6329
|
}
|
|
6008
6330
|
),
|
|
6009
|
-
shouldRenderSubcategoryFilters ? /* @__PURE__ */
|
|
6331
|
+
shouldRenderSubcategoryFilters ? /* @__PURE__ */ jsx14(Modal, { open: isSubcategoriesModalOpen, onOpenChange: setIsSubcategoriesModalOpen, children: /* @__PURE__ */ jsx14(
|
|
6010
6332
|
Modal.Container,
|
|
6011
6333
|
{
|
|
6012
6334
|
classNames: {
|
|
@@ -6015,20 +6337,20 @@ var EventList = ({
|
|
|
6015
6337
|
content: "items-end p-0 pointer-events-none",
|
|
6016
6338
|
container: "w-full max-w-none border-0 bg-transparent shadow-none"
|
|
6017
6339
|
},
|
|
6018
|
-
children: /* @__PURE__ */
|
|
6019
|
-
/* @__PURE__ */
|
|
6020
|
-
/* @__PURE__ */
|
|
6021
|
-
/* @__PURE__ */
|
|
6022
|
-
/* @__PURE__ */
|
|
6340
|
+
children: /* @__PURE__ */ jsxs11("div", { className: "pointer-events-auto w-full rounded-t-[12px] border border-agg-separator bg-agg-secondary", children: [
|
|
6341
|
+
/* @__PURE__ */ jsx14("div", { className: "flex justify-center pb-1 pt-3", "aria-hidden": "true", children: /* @__PURE__ */ jsx14("div", { className: "h-1 w-10 rounded-full bg-agg-muted-foreground/30" }) }),
|
|
6342
|
+
/* @__PURE__ */ jsxs11("div", { className: "flex items-center justify-between px-4 pb-2 pt-1", children: [
|
|
6343
|
+
/* @__PURE__ */ jsx14(Dialog.Title, { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: labels.eventList.subcategoriesLabel }),
|
|
6344
|
+
/* @__PURE__ */ jsx14(
|
|
6023
6345
|
Dialog.Close,
|
|
6024
6346
|
{
|
|
6025
6347
|
className: "flex cursor-pointer items-center justify-center rounded-full p-1 text-agg-muted-foreground hover:bg-agg-secondary-hover",
|
|
6026
6348
|
"aria-label": labels.common.close,
|
|
6027
|
-
children: /* @__PURE__ */
|
|
6349
|
+
children: /* @__PURE__ */ jsx14(CloseIcon, { className: "h-5 w-5" })
|
|
6028
6350
|
}
|
|
6029
6351
|
)
|
|
6030
6352
|
] }),
|
|
6031
|
-
/* @__PURE__ */
|
|
6353
|
+
/* @__PURE__ */ jsx14("div", { className: "flex flex-col gap-1 px-4 pb-4", children: /* @__PURE__ */ jsx14(
|
|
6032
6354
|
CategorySidebar,
|
|
6033
6355
|
{
|
|
6034
6356
|
baseCategoryId,
|
|
@@ -6044,7 +6366,7 @@ var EventList = ({
|
|
|
6044
6366
|
] })
|
|
6045
6367
|
}
|
|
6046
6368
|
) }) : null,
|
|
6047
|
-
shouldPaginate && hasNextPage ? /* @__PURE__ */
|
|
6369
|
+
shouldPaginate && hasNextPage ? /* @__PURE__ */ jsx14("div", { ref: loadMoreRef, className: "agg-event-list-sentinel h-px w-full", "aria-hidden": true }) : null
|
|
6048
6370
|
] });
|
|
6049
6371
|
};
|
|
6050
6372
|
EventList.displayName = "EventList";
|
|
@@ -6056,6 +6378,7 @@ export {
|
|
|
6056
6378
|
collectEligibleVenueOutcomes,
|
|
6057
6379
|
collectEligibleVenueOutcomeIds,
|
|
6058
6380
|
mergeVenueOutcomeOrderbooks,
|
|
6381
|
+
SportsLiveScore,
|
|
6059
6382
|
SettlementSummary,
|
|
6060
6383
|
resolveEventDetailsSyncKey,
|
|
6061
6384
|
EventListItemDetails,
|
|
@@ -6066,6 +6389,8 @@ export {
|
|
|
6066
6389
|
MarketDetails,
|
|
6067
6390
|
MarketDetailsList,
|
|
6068
6391
|
DEFAULT_EVENTS_LIMIT,
|
|
6392
|
+
DEFAULT_EVENT_LIST_SORT,
|
|
6393
|
+
EVENT_LIST_SORT_VALUES,
|
|
6069
6394
|
useEventListTabs,
|
|
6070
6395
|
EventListTabs,
|
|
6071
6396
|
useEventListTabsHeaderOverflow,
|