@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.
Files changed (74) hide show
  1. package/README.md +25 -16
  2. package/dist/{chunk-DNPDXL2D.mjs → chunk-3RQCBGIK.mjs} +341 -105
  3. package/dist/{chunk-GNEFI4SO.mjs → chunk-C4GFVJ62.mjs} +725 -400
  4. package/dist/{chunk-UDBHAZJJ.mjs → chunk-EOLR7DHL.mjs} +568 -145
  5. package/dist/{chunk-6X6Y4INU.mjs → chunk-LXQ3U4X2.mjs} +2 -2
  6. package/dist/{chunk-QW7VFURU.mjs → chunk-RDBMHBR2.mjs} +67 -3
  7. package/dist/{chunk-WDCH4RRS.mjs → chunk-WYCSTAN7.mjs} +1 -1
  8. package/dist/{chunk-FTL25XKE.mjs → chunk-XN2NB2NP.mjs} +1 -1
  9. package/dist/events.js +1149 -661
  10. package/dist/events.mjs +6 -4
  11. package/dist/index.js +3320 -2291
  12. package/dist/index.mjs +12 -8
  13. package/dist/modals.js +9 -2
  14. package/dist/modals.mjs +3 -3
  15. package/dist/pages.js +2789 -1762
  16. package/dist/pages.mjs +8 -6
  17. package/dist/primitives.js +30 -3
  18. package/dist/primitives.mjs +1 -1
  19. package/dist/styles.css +1 -1
  20. package/dist/tailwind.css +1 -1
  21. package/dist/trading.js +338 -102
  22. package/dist/trading.mjs +4 -4
  23. package/dist/types/events/index.d.mts +1 -0
  24. package/dist/types/events/index.d.ts +1 -0
  25. package/dist/types/events/item-details/event-list-item-details-market-selector.d.mts +4 -1
  26. package/dist/types/events/item-details/event-list-item-details-market-selector.d.ts +4 -1
  27. package/dist/types/events/item-details/event-list-item-details.types.d.mts +25 -1
  28. package/dist/types/events/item-details/event-list-item-details.types.d.ts +25 -1
  29. package/dist/types/events/item-details/index.d.mts +1 -1
  30. package/dist/types/events/item-details/index.d.ts +1 -1
  31. package/dist/types/events/list/event-list.constants.d.mts +3 -1
  32. package/dist/types/events/list/event-list.constants.d.ts +3 -1
  33. package/dist/types/events/list/event-list.types.d.mts +17 -0
  34. package/dist/types/events/list/event-list.types.d.ts +17 -0
  35. package/dist/types/events/list/event-list.utils.d.mts +4 -0
  36. package/dist/types/events/list/event-list.utils.d.ts +4 -0
  37. package/dist/types/events/list/index.d.mts +2 -2
  38. package/dist/types/events/list/index.d.ts +2 -2
  39. package/dist/types/events/market-details/index.d.mts +1 -1
  40. package/dist/types/events/market-details/index.d.ts +1 -1
  41. package/dist/types/events/market-details/market-details.types.d.mts +4 -0
  42. package/dist/types/events/market-details/market-details.types.d.ts +4 -0
  43. package/dist/types/events/shared/format-event-title.d.mts +9 -1
  44. package/dist/types/events/shared/format-event-title.d.ts +9 -1
  45. package/dist/types/events/shared/format-sports-event-time.d.mts +2 -0
  46. package/dist/types/events/shared/format-sports-event-time.d.ts +2 -0
  47. package/dist/types/events/shared/sports-live-score.d.mts +10 -0
  48. package/dist/types/events/shared/sports-live-score.d.ts +10 -0
  49. package/dist/types/pages/event-market/event-market.types.d.mts +4 -0
  50. package/dist/types/pages/event-market/event-market.types.d.ts +4 -0
  51. package/dist/types/pages/event-market/index.d.mts +1 -0
  52. package/dist/types/pages/event-market/index.d.ts +1 -0
  53. package/dist/types/pages/home/event-discovery-url-state.d.mts +35 -0
  54. package/dist/types/pages/home/event-discovery-url-state.d.ts +35 -0
  55. package/dist/types/pages/user-profile/components/available-balance-card.d.mts +5 -0
  56. package/dist/types/pages/user-profile/components/available-balance-card.d.ts +5 -0
  57. package/dist/types/pages/user-profile/components/open-order-row.d.mts +1 -0
  58. package/dist/types/pages/user-profile/components/open-order-row.d.ts +1 -0
  59. package/dist/types/pages/user-profile/components/positions-activity.d.mts +1 -1
  60. package/dist/types/pages/user-profile/components/positions-activity.d.ts +1 -1
  61. package/dist/types/pages/user-profile/user-profile.types.d.mts +1 -1
  62. package/dist/types/pages/user-profile/user-profile.types.d.ts +1 -1
  63. package/dist/types/trading/place-order/index.d.mts +1 -1
  64. package/dist/types/trading/place-order/index.d.ts +1 -1
  65. package/dist/types/trading/place-order/index.place-order.execution-steps.d.mts +13 -1
  66. package/dist/types/trading/place-order/index.place-order.execution-steps.d.ts +13 -1
  67. package/dist/types/trading/place-order/index.place-order.execution-view.d.mts +2 -1
  68. package/dist/types/trading/place-order/index.place-order.execution-view.d.ts +2 -1
  69. package/dist/types/trading/place-order/index.place-order.types.d.mts +9 -0
  70. package/dist/types/trading/place-order/index.place-order.types.d.ts +9 -0
  71. package/dist/types/trading/place-order/index.place-order.utils.d.mts +6 -0
  72. package/dist/types/trading/place-order/index.place-order.utils.d.ts +6 -0
  73. package/package.json +3 -3
  74. /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-WDCH4RRS.mjs";
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
- } from "./chunk-QW7VFURU.mjs";
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 = shouldUseSharedMidpoints ? sharedMidpointRows != null ? sharedMidpointRows : [] : fetchedMidpointRows;
521
- const resolvedDisplayMidpointsByOutcomeId = shouldUseSharedMidpoints ? midpointPrices != null ? midpointPrices : /* @__PURE__ */ new Map() : displayMidpointsByOutcomeId;
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/item-details/settlement-summary.tsx
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 = useLabels2();
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__ */ jsxs2(
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__ */ jsx2("span", { children: labels.settlementSummary.readFullDetails }),
1453
- /* @__PURE__ */ jsx2(
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__ */ jsxs2(
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__ */ jsxs2("div", { className: "flex min-w-[240px] flex-1 flex-wrap items-center gap-x-5 gap-y-3", children: [
1475
- /* @__PURE__ */ jsxs2("div", { className: "agg-settlement-summary-heading flex shrink-0 items-center gap-2", children: [
1476
- /* @__PURE__ */ jsx2("p", { className: "text-agg-sm font-agg-normal leading-agg-5 text-agg-foreground", children: labels.settlementSummary.title }),
1477
- /* @__PURE__ */ jsx2("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 })
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__ */ jsxs2("div", { className: "agg-settlement-summary-pills flex min-w-[240px] flex-1 flex-wrap items-center gap-2", children: [
1480
- visibleDifferences.map((difference) => /* @__PURE__ */ jsxs2(
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__ */ jsx2(
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__ */ jsx2("span", { className: "min-w-0 truncate", children: difference.title })
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__ */ jsxs2("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: [
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 useLabels5,
1679
+ useLabels as useLabels6,
1523
1680
  useLiveBestPrices,
1524
1681
  useLiveOutcomePrices,
1525
1682
  useMarketChart,
1526
1683
  useRollingChartWindow,
1527
- useSdkUiConfig as useSdkUiConfig2,
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 useLabels3 } from "@agg-build/hooks";
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 jsx3 } from "react/jsx-runtime";
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 = useLabels3();
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__ */ jsx3(
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__ */ jsx3(
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__ */ jsx3(Icon, { name: option.iconName, color: "currentColor", className: "h-5 w-5" })
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 useLabels4 } from "@agg-build/hooks";
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 jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
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 = useLabels4();
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 = layout.hiddenItems.find((option) => option.value === selectedValue)) != null ? _a2 : null;
1824
- }, [layout.hiddenItems, selectedValue]);
1825
- const moreButtonLabel = (_a = selectedHiddenOption == null ? void 0 : selectedHiddenOption.label) != null ? _a : MARKET_PILL_MORE_LABEL;
1826
- const isMoreButtonSelected = selectedHiddenOption != null;
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 options;
1830
- return options.filter((option) => option.label.toLowerCase().includes(normalizedSearchValue));
1831
- }, [options, searchValue]);
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__ */ jsx4(
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__ */ jsxs3("div", { ref: containerRef, className: cn("agg-market-select relative w-full", className), children: [
2026
- /* @__PURE__ */ jsxs3("div", { className: "agg-market-pill-list flex flex-wrap gap-2", children: [
2027
- layout.visibleItems.map((option) => {
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
- return /* @__PURE__ */ jsx4(
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: /* @__PURE__ */ jsx4("span", { className: "truncate", children: option.label })
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
- layout.hiddenItems.length > 0 ? /* @__PURE__ */ jsxs3(
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__ */ jsx4("span", { className: "truncate", children: moreButtonLabel }),
2072
- /* @__PURE__ */ jsx4(
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__ */ jsxs3(
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__ */ jsxs3("div", { className: "border-b border-agg-separator", children: [
2104
- /* @__PURE__ */ jsx4("label", { className: "sr-only", htmlFor: "agg-event-details-market-search", children: labels.eventItemDetails.marketSelectSearchPlaceholder }),
2105
- /* @__PURE__ */ jsx4(
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__ */ jsx4(
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__ */ jsxs3(
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__ */ jsx4(
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__ */ jsx4("span", { className: "truncate", children: option.label })
2349
+ /* @__PURE__ */ jsx5("span", { className: "truncate", children: option.label })
2163
2350
  ]
2164
2351
  },
2165
2352
  option.value
2166
2353
  );
2167
- }) : /* @__PURE__ */ jsx4("div", { className: "px-5 py-4 text-agg-sm leading-agg-5 text-agg-muted-foreground", children: labels.eventItemDetails.marketSelectEmpty })
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__ */ jsxs3(
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__ */ jsx4(
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__ */ jsx4("span", { className: "truncate", children: option.label })
2381
+ children: /* @__PURE__ */ jsx5("span", { className: "truncate", children: option.label })
2195
2382
  },
2196
2383
  option.value
2197
2384
  );
2198
2385
  }),
2199
- /* @__PURE__ */ jsxs3(
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__ */ jsx4("span", { children: moreButtonLabel }),
2208
- /* @__PURE__ */ jsx4(
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 jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
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 = useLabels5();
2274
- return /* @__PURE__ */ jsx5(
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 = useLabels5();
2288
- return /* @__PURE__ */ jsx5(
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__ */ jsxs4("div", { className: cn("flex flex-col gap-1", classNames == null ? void 0 : classNames.header), children: [
2295
- /* @__PURE__ */ jsx5(Typography, { variant: "body-large-strong", className: cn("truncate", classNames == null ? void 0 : classNames.title), children: labels.eventItemDetails.unavailableTitle }),
2296
- /* @__PURE__ */ jsx5(Typography, { variant: "body", className: "text-agg-muted-foreground", children: labels.eventItemDetails.unavailableDescription })
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 = useLabels5();
2306
- return /* @__PURE__ */ jsx5(
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__ */ jsx5(SearchEmptyIcon, {}),
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 = useLabels5();
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
- } = useSdkUiConfig2();
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__ */ jsx5("div", { className: cn("agg-chart-region w-full", classNames == null ? void 0 : classNames.chart), children: /* @__PURE__ */ jsx5(
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__ */ jsx5(WarningIcon, {}),
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__ */ jsx5(
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__ */ jsxs4(
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__ */ jsx5(
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__ */ jsx5(
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__ */ jsx5(
2760
+ children: /* @__PURE__ */ jsx6(
2574
2761
  Badge,
2575
2762
  {
2576
2763
  text,
2577
2764
  size: "large",
2578
- prefix: /* @__PURE__ */ jsx5(
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__ */ jsx5(
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 = useSdkUiConfig2();
2659
- const labels = useLabels5();
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__ */ jsxs4(
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__ */ jsxs4(
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__ */ jsx5(
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__ */ jsxs4("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
2813
- /* @__PURE__ */ jsxs4("div", { className: "min-w-0", children: [
2814
- /* @__PURE__ */ jsx5(
2815
- Typography,
2816
- {
2817
- variant: "body-strong",
2818
- className: cn(
2819
- "agg-event-title",
2820
- "min-w-0 text-agg-base font-agg-bold! leading-agg-6 md:text-agg-2xl md:leading-agg-8",
2821
- resolvedTitle.timestampLabel ? "truncate whitespace-nowrap" : "truncate text-wrap wrap-break-word line-clamp-2",
2822
- classNames == null ? void 0 : classNames.title
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
- children: resolvedTitle.title
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
- resolvedTitle.timestampLabel ? /* @__PURE__ */ jsx5(
2828
- Typography,
3057
+ recurringMarkets.isResolving ? /* @__PURE__ */ jsx6(
3058
+ Button,
2829
3059
  {
2830
- variant: "body",
2831
- className: "agg-event-timestamp mt-0.5 min-w-0 truncate text-agg-sm leading-agg-5 text-agg-muted-foreground",
2832
- children: resolvedTitle.timestampLabel
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: (_c = scopedSelectedMarket == null ? void 0 : scopedSelectedMarket.id) != null ? _c : "",
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
- detailsStats && detailsStats.length > 0 ? /* @__PURE__ */ jsx5(
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__ */ jsxs4(
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__ */ jsx5(Typography, { variant: "caption-caps", className: "text-agg-muted-foreground", children: statItem.label }),
2866
- /* @__PURE__ */ jsxs4("div", { className: "flex items-baseline gap-1", children: [
2867
- /* @__PURE__ */ jsx5(
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__ */ jsx5(Typography, { variant: "label", className: cn(deltaClassName), children: statItem.delta }) : null
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__ */ jsxs4("div", { className: cn("agg-event-details-chart", "flex flex-col gap-2"), children: [
2885
- /* @__PURE__ */ jsx5(
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: (_d = scopedSelectedMarket == null ? void 0 : scopedSelectedMarket.id) != null ? _d : null,
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__ */ jsxs4(
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__ */ jsx5(Typography, { variant: "label", className: "agg-chart-volume text-agg-muted-foreground", children: volumeLabel || "-" }),
2911
- /* @__PURE__ */ jsxs4(
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__ */ jsx5(
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__ */ jsx5("span", { "aria-hidden": "true", className: "hidden h-4 w-px bg-agg-separator md:block" }),
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__ */ jsx5(
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__ */ jsx5(SettlementSummary, { content: event.description, settlementDiff: event.settlementDiff }) : null
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__ */ jsx5(
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__ */ jsx5(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
3251
+ return /* @__PURE__ */ jsx6(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
2994
3252
  }
2995
3253
  if (isErrorWithStatus(error, 404)) {
2996
- return /* @__PURE__ */ jsx5(EventListItemDetailsNotFoundState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
3254
+ return /* @__PURE__ */ jsx6(EventListItemDetailsNotFoundState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
2997
3255
  }
2998
3256
  if (!fetchedEvent && !isError) {
2999
- return /* @__PURE__ */ jsx5(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
3257
+ return /* @__PURE__ */ jsx6(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
3000
3258
  }
3001
3259
  if (!fetchedEvent) {
3002
- return /* @__PURE__ */ jsx5(
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__ */ jsx5(EventListItemDetailsContent, __spreadValues({ event: fetchedEvent }, rest));
3268
+ return /* @__PURE__ */ jsx6(EventListItemDetailsContent, __spreadValues({ event: fetchedEvent }, rest));
3011
3269
  };
3012
3270
  var EventListItemDetails = (props) => {
3013
3271
  if (props.isLoading) {
3014
- return /* @__PURE__ */ jsx5(EventListItemDetailsLoadingState, { classNames: props.classNames, ariaLabel: props.ariaLabel });
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__ */ jsx5(EventListItemDetailsContent, __spreadValues({ event }, rest));
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__ */ jsx5(EventListItemDetailsByEventId, __spreadValues({}, byEventIdProps));
3299
+ return /* @__PURE__ */ jsx6(EventListItemDetailsByEventId, __spreadValues({}, byEventIdProps));
3042
3300
  }
3043
- return /* @__PURE__ */ jsx5(
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 jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
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__ */ jsxs5("div", { className: "flex flex-row items-center justify-start gap-0.5 md:gap-1", children: [
3221
- visible.map((venue) => /* @__PURE__ */ jsx6(VenueLogo, { venue, size: "small" }, venue)),
3222
- overflow > 0 ? /* @__PURE__ */ jsxs5("span", { className: "text-agg-xs font-agg-bold leading-agg-4 text-agg-muted-foreground", children: [
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__ */ jsxs5("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: [
3250
- /* @__PURE__ */ jsx6(
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__ */ jsxs5("div", { className: "hidden md:block md:relative min-w-0 flex-1 self-stretch", children: [
3263
- /* @__PURE__ */ jsx6(
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__ */ jsx6(
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__ */ jsx6(
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__ */ jsxs5("div", { className: "flex w-20 shrink-0 items-center justify-start gap-2 md:w-[120px]", children: [
3293
- /* @__PURE__ */ jsx6(
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__ */ jsx6(OrderbookVenueLogos, { venues })
3562
+ /* @__PURE__ */ jsx7(OrderbookVenueLogos, { venues })
3305
3563
  ] }),
3306
- /* @__PURE__ */ jsx6("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) }),
3307
- /* @__PURE__ */ jsx6("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) })
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__ */ jsxs5("div", { className: cn("agg-orderbook-unified flex flex-col", className), children: [
3368
- /* @__PURE__ */ jsxs5("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: [
3369
- /* @__PURE__ */ jsx6("span", { className: "hidden md:flex min-w-0 flex-1 items-center gap-2 pl-5", children: /* @__PURE__ */ jsx6("span", { className: "text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground", children: labels.tradeOutcome }) }),
3370
- /* @__PURE__ */ jsx6("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 }),
3371
- /* @__PURE__ */ jsx6("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 }),
3372
- /* @__PURE__ */ jsx6("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 })
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__ */ jsxs5("div", { className: "relative", children: [
3375
- /* @__PURE__ */ jsxs5(
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__ */ jsx6("div", { className: "agg-orderbook-asks flex flex-col", children: askEntries.map((entry, index) => /* @__PURE__ */ jsx6(
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__ */ jsxs5(
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__ */ jsxs5(
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__ */ jsxs5(
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__ */ jsx6("div", { className: "hidden md:inline-flex w-20 shrink-0 md:w-[120px]" }),
3431
- /* @__PURE__ */ jsx6("div", { className: "hidden md:inline-flex w-20 shrink-0 md:w-[120px]" })
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__ */ jsx6("div", { className: "agg-orderbook-bids flex flex-col", children: bidEntries.map((entry, index) => /* @__PURE__ */ jsx6(
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__ */ jsx6(
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__ */ jsx6(Icon, { name: "recenter", size: "small", className: "!size-4 text-current" })
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 jsx7 } from "react/jsx-runtime";
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__ */ jsx7("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ jsx7(MarketDetailsOderbookSkeleton, {}) });
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__ */ jsx7("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ jsx7(
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__ */ jsx7(WarningIcon, {}),
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__ */ jsx7("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ jsx7(
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__ */ jsx7(WarningIcon, {}),
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__ */ jsx7("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ jsx7(
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__ */ jsx7(WarningIcon, {}),
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__ */ jsx7("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ jsx7(
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__ */ jsx7(SearchEmptyIcon, {}),
3779
+ icon: /* @__PURE__ */ jsx8(SearchEmptyIcon, {}),
3522
3780
  classNames: { root: stateMessageMinHeight }
3523
3781
  }
3524
3782
  ) });
3525
3783
  }
3526
- return /* @__PURE__ */ jsx7("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ jsx7(Orderbook, __spreadValues({}, orderbookProps)) });
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 useLabels7,
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 useSdkUiConfig4,
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 jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
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__ */ jsx8(
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__ */ jsx8(
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__ */ jsx8(
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__ */ jsxs6("div", { className: "flex min-w-0 max-w-full items-center justify-center gap-1.5 overflow-hidden", children: [
3721
- /* @__PURE__ */ jsx8(VenueLogo, { venue: item.venue, size: "small" }),
3722
- /* @__PURE__ */ jsx8(
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__ */ jsx8(
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__ */ jsx8(
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__ */ jsxs6("div", { className: "inline-flex max-w-full items-center justify-center gap-1.5", children: [
3750
- /* @__PURE__ */ jsx8(VenueLogo, { venue: item.venue, size: "small" }),
3751
- /* @__PURE__ */ jsx8(
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__ */ jsx8(
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 useLabels6,
4036
+ useLabels as useLabels7,
3779
4037
  useMarketChart as useMarketChart2,
3780
4038
  useRollingChartWindow as useRollingChartWindow2,
3781
- useSdkUiConfig as useSdkUiConfig3
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 jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
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 = useSdkUiConfig3();
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 = useLabels6();
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__ */ jsxs7("div", { className: cn("agg-price-chart flex flex-col gap-5 p-5", classNames == null ? void 0 : classNames.graph), children: [
3940
- hasChartError ? /* @__PURE__ */ jsx9(
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__ */ jsx9(WarningIcon, {}),
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__ */ jsx9(
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__ */ jsxs7("div", { className: "agg-chart-toolbar w-full flex flex-col gap-4 md:flex-row md:items-center md:justify-between", children: [
3963
- /* @__PURE__ */ jsx9("div", { className: "agg-market-venues flex flex-wrap gap-2", children: chartAvailableOutcomesByVenue.map((item) => {
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__ */ jsxs7(
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__ */ jsx9(VenueLogo, { venue: item.venue, size: "small" }),
3989
- /* @__PURE__ */ jsx9("span", { className: "text-agg-base leading-agg-6 text-agg-foreground", children: probability })
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__ */ jsx9(
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__ */ jsxs7(
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__ */ jsx9("span", { children: typeof volume !== "number" ? labels.marketDetails.volumeUnavailable : volume > 0 ? `${formatCompactCurrency(volume)} ${labels.marketDetails.meta.volumeSuffix}` : "" }),
4035
- /* @__PURE__ */ jsxs7("div", { className: "flex flex-wrap items-center gap-3 md:gap-4", children: [
4036
- /* @__PURE__ */ jsx9(
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__ */ jsx9("span", { "aria-hidden": "true", className: "hidden h-4 w-px bg-agg-separator md:block" }),
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__ */ jsx9(
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 jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
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 = useLabels7();
4089
- return /* @__PURE__ */ jsx10(
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__ */ jsxs8("div", { className: "flex flex-col gap-1 p-5", children: [
4101
- /* @__PURE__ */ jsx10(Typography, { variant: "body-large-strong", children: labels.marketDetails.unavailableTitle }),
4102
- /* @__PURE__ */ jsx10(Typography, { variant: "label", className: "text-agg-muted-foreground", children: labels.marketDetails.unavailableDescription })
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 = useLabels7();
4113
- return /* @__PURE__ */ jsx10(
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__ */ jsx10(SearchEmptyIcon, {}),
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 = useSdkUiConfig4();
4409
+ const config = useSdkUiConfig5();
4151
4410
  const {
4152
4411
  features: { enableAnimations },
4153
4412
  formatting: { formatPercent }
4154
4413
  } = config;
4155
- const labels = useLabels7();
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 = marketTradingState.isTradingDisabled ? {
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__ */ jsx10(Icon, { name: marketStatePresentation.iconName, className: "h-5 w-5", "aria-hidden": "true" })
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__ */ jsx10(
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__ */ jsx10(
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__ */ jsxs8(
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__ */ jsxs8(
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__ */ jsxs8(
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__ */ jsxs8("div", { className: "agg-market-summary flex min-w-24 flex-1 items-center gap-3 md:gap-4", children: [
4605
- !compactHeader ? /* @__PURE__ */ jsx10(
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__ */ jsxs8("div", { className: "flex min-w-24 flex-col", children: [
4614
- /* @__PURE__ */ jsx10(Tooltip, { content: model.title, side: "top", children: /* @__PURE__ */ jsx10("div", { className: "min-w-0", children: /* @__PURE__ */ jsx10(
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__ */ jsx10("div", { className: "flex items-center gap-3", children: /* @__PURE__ */ jsx10(
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__ */ jsxs8("div", { className: "mt-2 flex flex-wrap items-center gap-2 justify-center md:justify-start", children: [
4632
- /* @__PURE__ */ jsxs8(
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__ */ jsx10(
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__ */ jsx10("span", { children: marketStatePresentation.badgeLabel })
4893
+ /* @__PURE__ */ jsx11("span", { children: marketStatePresentation.badgeLabel })
4649
4894
  ]
4650
4895
  }
4651
4896
  ),
4652
- marketStatePresentation.timestampLabel ? /* @__PURE__ */ jsx10(Typography, { variant: "label", className: "text-agg-muted-foreground", children: marketStatePresentation.timestampLabel }) : null,
4653
- marketStatePresentation.winningOutcomeLabel ? /* @__PURE__ */ jsx10(Typography, { variant: "label", className: "text-agg-muted-foreground", children: marketStatePresentation.winningOutcomeLabel }) : null
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__ */ jsx10(Typography, { as: "div", variant: "heading", className: "agg-market-headline shrink-0", children: formatProbabilityPercent(headlineProbability, formatPercent) }) : null
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
- marketTradingState.kind === "resolved" && marketTradingState.winningOutcome ? /* @__PURE__ */ jsx10("div", { className: "agg-outcomes flex w-full items-center justify-end md:w-auto md:shrink-0", children: /* @__PURE__ */ jsxs8(
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__ */ jsx10(
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__ */ jsx10(Typography, { variant: "body", children: labels.eventMarketPage.resolvedOutcome(
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__ */ jsx10("div", { className: "agg-outcomes flex w-full items-center justify-end md:w-auto md:shrink-0", children: /* @__PURE__ */ jsxs8(
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__ */ jsx10(
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__ */ jsx10("span", { children: marketStatePresentation.badgeLabel })
4956
+ /* @__PURE__ */ jsx11("span", { children: marketStatePresentation.badgeLabel })
4709
4957
  ]
4710
4958
  }
4711
- ) }) : /* @__PURE__ */ jsx10(
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__ */ jsx10(
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__ */ jsx10("div", { className: "agg-market-card-accessory border-t border-agg-separator", children: headerAccessory }) : null,
4748
- /* @__PURE__ */ jsx10(
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__ */ jsxs8("div", { className: "min-h-0", children: [
4763
- /* @__PURE__ */ jsx10("div", { className: "h-px w-full bg-agg-separator" }),
4764
- /* @__PURE__ */ jsxs8(
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__ */ jsxs8(Fragment2, { children: [
4779
- /* @__PURE__ */ jsx10("div", { className: cn("block", classNames == null ? void 0 : classNames.tabs), children: /* @__PURE__ */ jsx10(
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__ */ jsx10("div", { className: "h-px w-full bg-agg-separator" })
5038
+ /* @__PURE__ */ jsx11("div", { className: "h-px w-full bg-agg-separator" })
4791
5039
  ] }) : null,
4792
- /* @__PURE__ */ jsxs8("div", { className: cn("agg-market-card-body p-0", classNames == null ? void 0 : classNames.content), children: [
4793
- effectiveSelectedTab === "order-book" ? /* @__PURE__ */ jsx10(
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__ */ jsx10(
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__ */ jsx10("div", { className: "agg-market-meta flex flex-col gap-4", children: otherContent != null ? otherContent : /* @__PURE__ */ jsx10("div", { className: "agg-market-meta-list grid grid-cols-1 gap-3", children: otherRows.map((row) => /* @__PURE__ */ jsxs8(
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__ */ jsx10(Typography, { variant: "label", className: "text-agg-muted-foreground", children: row.label }),
4841
- /* @__PURE__ */ jsx10(Typography, { variant: "body", className: "text-right", children: row.value })
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 = useLabels7();
5107
+ const labels = useLabels8();
4860
5108
  if (props.isLoading) {
4861
- return /* @__PURE__ */ jsx10(
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__ */ jsx10(
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__ */ jsx10(MarketDetailsUnavailableState, { classNames: fallbackClassNames });
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 = useLabels7();
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 [...groupedMarkets.primary, ...visibleResolvedMarkets];
5021
- }, [groupedMarkets.primary, visibleResolvedMarkets]);
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__ */ jsx10(
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__ */ jsx10(
5337
+ return /* @__PURE__ */ jsx11(
5084
5338
  StateMessage,
5085
5339
  {
5086
5340
  title: labels.marketDetails.unavailableTitle,
5087
5341
  description: labels.marketDetails.unavailableDescription,
5088
- icon: /* @__PURE__ */ jsx10(SearchEmptyIcon, {}),
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__ */ jsx10(
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__ */ jsx10(SearchEmptyIcon, {}),
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__ */ jsx10("div", { children: /* @__PURE__ */ jsx10(
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__ */ jsxs8("div", { className: cn("agg-market-list flex flex-col gap-3", classNames == null ? void 0 : classNames.root), children: [
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
- shouldShowResolvedToggle ? /* @__PURE__ */ jsx10(
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__ */ jsx10(
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 useLabels9,
5169
- useSdkUiConfig as useSdkUiConfig5,
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 jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
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__ */ jsxs9(
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__ */ jsx11("span", { className: "min-w-0 flex-1 truncate first-letter:uppercase", children: entry.label }),
5230
- hasKnownChildren ? /* @__PURE__ */ jsx11(
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__ */ jsx11("span", { className: "shrink-0 text-agg-muted-foreground", children: entry.eventCount })
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__ */ jsxs9("div", { className: "flex w-full flex-col", children: [
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__ */ jsx11(
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__ */ jsx11("div", { className: "overflow-hidden", children: /* @__PURE__ */ jsx11("div", { className: "flex w-full flex-col gap-1 pl-4 pt-1", children: childCategories.map((child) => renderBranch(child, depth + 1)) }) })
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__ */ jsxs9("div", { className: "flex w-full flex-col gap-1", children: [
5276
- /* @__PURE__ */ jsxs9(
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__ */ jsx11("span", { className: "min-w-0 flex-1 truncate", children: labels.subcategoriesAll }),
5285
- /* @__PURE__ */ jsx11("span", { className: "shrink-0 text-agg-muted-foreground", children: totalEventCount })
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 useLabels8 } from "@agg-build/hooks";
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 jsx12 } from "react/jsx-runtime";
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__ */ jsx12(Icon, { name: "warning-filled", size: "small", color: "currentColor" });
5637
+ return /* @__PURE__ */ jsx13(Icon, { name: "warning-filled", size: "small", color: "currentColor" });
5374
5638
  }
5375
5639
  if (tab.venueLogo) {
5376
- return /* @__PURE__ */ jsx12(VenueLogo, { venue: tab.venueLogo, size: "small" });
5640
+ return /* @__PURE__ */ jsx13(VenueLogo, { venue: tab.venueLogo, size: "small" });
5377
5641
  }
5378
5642
  if (!tab.iconName) return null;
5379
- return /* @__PURE__ */ jsx12(
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 = useLabels8();
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
- // Compile-time-inactive venues (kalshi, novig) are hidden by default
5400
- // and un-hidden per-environment by a *_DATA_VISIBLE flag, so their
5401
- // disabled-ness is only known once `/app/config` resolves. Treating
5402
- // them as hidden while it loads stops a tab flashing in and out where
5403
- // the flag is unset. Keyed off the shared inactive-venue helper
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__ */ jsx12(
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 jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
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 = useLabels9();
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
- } = useSdkUiConfig5();
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 [activeTabValue, setActiveTabValue] = useState7(
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 [selectedSort, setSelectedSort] = useState7("volume24hr");
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 [categoryPath, setCategoryPath] = useState7([]);
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__ */ jsx13(Icon, { name: SORT_ICON_BY_VALUE.volume24hr, size: "small", color: "currentColor" })
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__ */ jsx13(Icon, { name: SORT_ICON_BY_VALUE.topArbitrage, size: "small", color: "currentColor" })
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__ */ jsx13(Icon, { name: SORT_ICON_BY_VALUE.volume, size: "small", color: "currentColor" })
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__ */ jsx13(Icon, { name: SORT_ICON_BY_VALUE.endDate, size: "small", color: "currentColor" })
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
- setCategoryPath([]);
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 shouldRenderSubcategoryFilters = isDiscoveryFiltersEnabled && baseCategoryId !== null && (((_e = (_d = childrenByParentId.get(baseCategoryId)) == null ? void 0 : _d.length) != null ? _e : 0) > 0 || categoryPath.length > 0);
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
- setCategoryPath([]);
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
- setCategoryPath((prev) => [...prev.slice(0, depth), entry]);
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__ */ jsx13(
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__ */ jsxs10("section", { className: "agg-event-list flex w-full flex-col gap-2 md:gap-5 t", children: [
5861
- /* @__PURE__ */ jsxs10(
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__ */ jsx13("div", { className: "agg-event-list-title min-w-32", children: /* @__PURE__ */ jsx13(Typography, { as: "h2", variant: "title", className: "truncate first-letter:uppercase", children: title }) }),
5871
- /* @__PURE__ */ jsxs10("div", { className: "hidden min-w-0 max-w-full items-center gap-3 md:flex", children: [
5872
- /* @__PURE__ */ jsx13(
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: setActiveTabValue,
6200
+ onTabChange: handleActiveTabChange,
5879
6201
  overflowBehavior: "scroll"
5880
6202
  }
5881
6203
  ),
5882
- /* @__PURE__ */ jsx13(
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: setSelectedSort,
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__ */ jsxs10("div", { className: "flex w-full gap-2 md:hidden mb-3", children: [
5899
- /* @__PURE__ */ jsx13(
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: setActiveTabValue,
6227
+ onTabChange: handleActiveTabChange,
5906
6228
  overflowBehavior: "select"
5907
6229
  }
5908
6230
  ),
5909
- /* @__PURE__ */ jsx13(
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: setSelectedSort,
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__ */ jsx13(
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__ */ jsx13(Icon, { name: "apps", size: "small", color: "currentColor" })
6249
+ children: /* @__PURE__ */ jsx14(Icon, { name: "apps", size: "small", color: "currentColor" })
5928
6250
  }
5929
6251
  ) : null
5930
6252
  ] }),
5931
- /* @__PURE__ */ jsxs10(
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__ */ jsx13("aside", { className: "hidden w-[200px] shrink-0 md:block self-start sticky top-4", children: /* @__PURE__ */ jsx13("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__ */ jsx13(
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__ */ jsxs10(
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__ */ jsx13(
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__ */ jsx13(
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__ */ jsx13("div", { className: "col-span-full w-full", children: /* @__PURE__ */ jsx13(
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__ */ jsx13(Icon, { name: "search-empty" })
6314
+ icon: /* @__PURE__ */ jsx14(Icon, { name: "search-empty" })
5993
6315
  }
5994
6316
  ) }) : null,
5995
- isError ? /* @__PURE__ */ jsx13("div", { className: "col-span-full w-full", children: /* @__PURE__ */ jsx13(
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__ */ jsx13(Icon, { name: "warning" })
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__ */ jsx13(Modal, { open: isSubcategoriesModalOpen, onOpenChange: setIsSubcategoriesModalOpen, children: /* @__PURE__ */ jsx13(
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__ */ jsxs10("div", { className: "pointer-events-auto w-full rounded-t-[12px] border border-agg-separator bg-agg-secondary", children: [
6019
- /* @__PURE__ */ jsx13("div", { className: "flex justify-center pb-1 pt-3", "aria-hidden": "true", children: /* @__PURE__ */ jsx13("div", { className: "h-1 w-10 rounded-full bg-agg-muted-foreground/30" }) }),
6020
- /* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-between px-4 pb-2 pt-1", children: [
6021
- /* @__PURE__ */ jsx13(Dialog.Title, { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: labels.eventList.subcategoriesLabel }),
6022
- /* @__PURE__ */ jsx13(
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__ */ jsx13(CloseIcon, { className: "h-5 w-5" })
6349
+ children: /* @__PURE__ */ jsx14(CloseIcon, { className: "h-5 w-5" })
6028
6350
  }
6029
6351
  )
6030
6352
  ] }),
6031
- /* @__PURE__ */ jsx13("div", { className: "flex flex-col gap-1 px-4 pb-4", children: /* @__PURE__ */ jsx13(
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__ */ jsx13("div", { ref: loadMoreRef, className: "agg-event-list-sentinel h-px w-full", "aria-hidden": true }) : null
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,