@agg-build/ui 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/{chunk-5ES2VJHO.mjs → chunk-7JEJIGG4.mjs} +162 -253
  2. package/dist/{chunk-BYMLPLEZ.mjs → chunk-F3SU7BRE.mjs} +10 -10
  3. package/dist/{chunk-WLXYCBZV.mjs → chunk-IT2Y62MG.mjs} +31 -35
  4. package/dist/{chunk-43K4PFBC.mjs → chunk-JDYZJKTE.mjs} +2 -2
  5. package/dist/{chunk-HD6HBTK2.mjs → chunk-KDMNFHPL.mjs} +369 -19
  6. package/dist/{chunk-LPNZOX3E.mjs → chunk-OHEZGKFM.mjs} +443 -884
  7. package/dist/{chunk-YZNO6IUD.mjs → chunk-R6DETAZ6.mjs} +1343 -1173
  8. package/dist/events.js +1886 -1545
  9. package/dist/events.mjs +3 -3
  10. package/dist/index.js +3748 -3707
  11. package/dist/index.mjs +191 -118
  12. package/dist/modals.js +1042 -943
  13. package/dist/modals.mjs +3 -3
  14. package/dist/pages.js +2822 -2864
  15. package/dist/pages.mjs +6 -6
  16. package/dist/primitives.js +1322 -1166
  17. package/dist/primitives.mjs +9 -1
  18. package/dist/styles.css +1 -1
  19. package/dist/tailwind.css +1 -1
  20. package/dist/trading.js +3770 -3718
  21. package/dist/trading.mjs +10 -12
  22. package/dist/types/events/item-details/settlement-summary.d.mts +6 -2
  23. package/dist/types/events/item-details/settlement-summary.d.ts +6 -2
  24. package/dist/types/events/list/event-list.types.d.mts +1 -1
  25. package/dist/types/events/list/event-list.types.d.ts +1 -1
  26. package/dist/types/events/list/event-list.utils.d.mts +1 -1
  27. package/dist/types/events/list/event-list.utils.d.ts +1 -1
  28. package/dist/types/pages/event-market/event-market.types.d.mts +1 -3
  29. package/dist/types/pages/event-market/event-market.types.d.ts +1 -3
  30. package/dist/types/pages/user-profile/components/available-balance-card.d.mts +0 -1
  31. package/dist/types/pages/user-profile/components/available-balance-card.d.ts +0 -1
  32. package/dist/types/primitives/icon/icon.types.d.mts +1 -2
  33. package/dist/types/primitives/icon/icon.types.d.ts +1 -2
  34. package/dist/types/primitives/icon/index.d.mts +4 -1
  35. package/dist/types/primitives/icon/index.d.ts +4 -1
  36. package/dist/types/primitives/icon/registry.d.mts +12 -0
  37. package/dist/types/primitives/icon/registry.d.ts +12 -0
  38. package/dist/types/primitives/icon/svg/apps.d.mts +5 -0
  39. package/dist/types/primitives/icon/svg/apps.d.ts +5 -0
  40. package/dist/types/primitives/icon/svg/circle-overlap.d.mts +5 -0
  41. package/dist/types/primitives/icon/svg/circle-overlap.d.ts +5 -0
  42. package/dist/types/primitives/icon/svg/lock.d.mts +5 -0
  43. package/dist/types/primitives/icon/svg/lock.d.ts +5 -0
  44. package/dist/types/primitives/select/index.d.mts +1 -1
  45. package/dist/types/primitives/select/index.d.ts +1 -1
  46. package/dist/types/primitives/select/select.types.d.mts +1 -1
  47. package/dist/types/primitives/select/select.types.d.ts +1 -1
  48. package/dist/types/primitives/select/select.utils.d.mts +0 -1
  49. package/dist/types/primitives/select/select.utils.d.ts +0 -1
  50. package/dist/types/primitives/skeleton/index.d.mts +2 -1
  51. package/dist/types/primitives/skeleton/index.d.ts +2 -1
  52. package/dist/types/primitives/skeleton/views/place-order-skeleton-view.d.mts +4 -0
  53. package/dist/types/primitives/skeleton/views/place-order-skeleton-view.d.ts +4 -0
  54. package/dist/types/primitives/typography/index.d.mts +1 -1
  55. package/dist/types/primitives/typography/index.d.ts +1 -1
  56. package/dist/types/primitives/typography/typography.types.d.mts +3 -1
  57. package/dist/types/primitives/typography/typography.types.d.ts +3 -1
  58. package/dist/types/shared/utils.d.mts +3 -1
  59. package/dist/types/shared/utils.d.ts +3 -1
  60. package/dist/types/trading/index.d.mts +0 -1
  61. package/dist/types/trading/index.d.ts +0 -1
  62. package/dist/types/trading/place-order/index.place-order.types.d.mts +0 -1
  63. package/dist/types/trading/place-order/index.place-order.types.d.ts +0 -1
  64. package/dist/types/trading/place-order/index.place-order.utils.d.mts +0 -4
  65. package/dist/types/trading/place-order/index.place-order.utils.d.ts +0 -4
  66. package/dist/types/trading/settlement/index.d.mts +9 -6
  67. package/dist/types/trading/settlement/index.d.ts +9 -6
  68. package/dist/types/trading/settlement/settlement-text-renderer.d.mts +8 -0
  69. package/dist/types/trading/settlement/settlement-text-renderer.d.ts +8 -0
  70. package/dist/types/trading/settlement/settlement-text.utils.d.mts +36 -0
  71. package/dist/types/trading/settlement/settlement-text.utils.d.ts +36 -0
  72. package/dist/types/trading/types.d.mts +0 -19
  73. package/dist/types/trading/types.d.ts +0 -19
  74. package/dist/types/trading/utils.d.mts +0 -1
  75. package/dist/types/trading/utils.d.ts +0 -1
  76. package/package.json +3 -3
  77. package/dist/types/primitives/card/card.constants.d.mts +0 -4
  78. package/dist/types/primitives/card/card.constants.d.ts +0 -4
  79. package/dist/types/trading/settlement/settlement-details.utils.d.mts +0 -7
  80. package/dist/types/trading/settlement/settlement-details.utils.d.ts +0 -7
@@ -1,8 +1,10 @@
1
1
  "use client";
2
2
  import {
3
+ SETTLEMENT_SECTION_ID,
3
4
  buildMarketDetailsModel,
4
5
  formatProbabilityCents,
5
6
  formatProbabilityPercent,
7
+ getFirstSettlementParagraph,
6
8
  getTimeWindowByRange,
7
9
  resolveHeaderOutcomeItems,
8
10
  resolveInitialOutcomeLabel,
@@ -19,7 +21,7 @@ import {
19
21
  resolveUnifiedOrderBookEntries,
20
22
  sortOutcomeSelectorOutcomes,
21
23
  useEventTradingContext
22
- } from "./chunk-HD6HBTK2.mjs";
24
+ } from "./chunk-KDMNFHPL.mjs";
23
25
  import {
24
26
  AutocompleteSelect,
25
27
  Badge,
@@ -71,7 +73,7 @@ import {
71
73
  sortMarketsByYesOddsDesc,
72
74
  sortOutcomes,
73
75
  splitEventsByLifecycle
74
- } from "./chunk-YZNO6IUD.mjs";
76
+ } from "./chunk-R6DETAZ6.mjs";
75
77
 
76
78
  // src/events/item/index.tsx
77
79
  import {
@@ -955,70 +957,23 @@ var mergeVenueOutcomeOrderbooks = ({
955
957
 
956
958
  // src/events/item-details/settlement-summary.tsx
957
959
  import { useLabels as useLabels2 } from "@agg-build/hooks";
958
- import { useCallback as useCallback2, useEffect, useId, useRef, useState as useState2 } from "react";
960
+ import { useMemo as useMemo2 } from "react";
959
961
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
960
962
  var SettlementSummary = ({
961
963
  content,
962
- onToggle,
964
+ settlementSectionId = SETTLEMENT_SECTION_ID,
963
965
  className
964
966
  }) => {
965
- var _a;
966
967
  const labels = useLabels2();
967
- const contentId = useId();
968
- const containerRef = useRef(null);
969
- const measureRef = useRef(null);
970
- const [isExpanded, setIsExpanded] = useState2(false);
971
- const [canExpand, setCanExpand] = useState2(false);
972
- const resolvedContent = (_a = content == null ? void 0 : content.trim()) != null ? _a : "";
973
- const measureOverflow = useCallback2(() => {
974
- const measureElement = measureRef.current;
975
- if (!measureElement) return;
976
- const nextCanExpand = measureElement.scrollWidth > measureElement.clientWidth + 1;
977
- setCanExpand((currentValue) => {
978
- if (currentValue === nextCanExpand) return currentValue;
979
- return nextCanExpand;
980
- });
981
- }, []);
982
- useEffect(() => {
983
- if (!resolvedContent) {
984
- setCanExpand(false);
985
- setIsExpanded(false);
986
- return;
987
- }
988
- setCanExpand(false);
989
- setIsExpanded(false);
990
- measureOverflow();
991
- }, [measureOverflow, resolvedContent]);
992
- useEffect(() => {
993
- if (!resolvedContent) return;
994
- const containerElement = containerRef.current;
995
- if (!containerElement) return;
996
- if (typeof ResizeObserver === "function") {
997
- const resizeObserver = new ResizeObserver(() => {
998
- measureOverflow();
999
- });
1000
- resizeObserver.observe(containerElement);
1001
- return () => {
1002
- resizeObserver.disconnect();
1003
- };
1004
- }
1005
- const handleResize = () => {
1006
- measureOverflow();
1007
- };
1008
- window.addEventListener("resize", handleResize);
1009
- return () => {
1010
- window.removeEventListener("resize", handleResize);
1011
- };
1012
- }, [measureOverflow, resolvedContent]);
1013
- if (!resolvedContent) return null;
1014
- const shouldShowToggle = canExpand || isExpanded;
1015
- const toggleLabel = isExpanded ? labels.settlementSummary.showLess : labels.settlementSummary.readFullDetails;
1016
- const handleToggle = (event) => {
968
+ const firstParagraph = useMemo2(() => getFirstSettlementParagraph(content), [content]);
969
+ if (!firstParagraph) return null;
970
+ const handleReadFullDetails = (event) => {
1017
971
  event.preventDefault();
1018
972
  event.stopPropagation();
1019
- const nextExpanded = !isExpanded;
1020
- setIsExpanded(nextExpanded);
1021
- onToggle == null ? void 0 : onToggle(nextExpanded);
973
+ if (typeof document === "undefined") return;
974
+ const target = document.getElementById(settlementSectionId);
975
+ if (!target) return;
976
+ target.scrollIntoView({ behavior: "smooth", block: "start" });
1022
977
  };
1023
978
  return /* @__PURE__ */ jsxs2("div", { className: cn("agg-settlement-summary flex w-full flex-col gap-2", className), children: [
1024
979
  /* @__PURE__ */ jsx2(
@@ -1029,78 +984,32 @@ var SettlementSummary = ({
1029
984
  children: labels.settlementSummary.title
1030
985
  }
1031
986
  ),
1032
- /* @__PURE__ */ jsxs2("div", { ref: containerRef, className: "relative w-full", children: [
987
+ /* @__PURE__ */ jsxs2("div", { className: "agg-settlement-summary-row flex w-full items-center gap-3", children: [
1033
988
  /* @__PURE__ */ jsx2(
1034
989
  "p",
1035
990
  {
1036
- ref: measureRef,
1037
- "aria-hidden": "true",
1038
991
  className: cn(
1039
- "agg-settlement-summary-measure",
1040
- "pointer-events-none absolute inset-x-0 top-0 block overflow-hidden whitespace-nowrap opacity-0",
1041
- "text-agg-sm leading-agg-5 text-agg-foreground"
992
+ "agg-settlement-summary-text",
993
+ "min-w-0 flex-1 truncate text-agg-sm leading-agg-5 text-agg-foreground"
1042
994
  ),
1043
- children: resolvedContent
995
+ children: firstParagraph
1044
996
  }
1045
997
  ),
1046
- isExpanded ? /* @__PURE__ */ jsxs2("div", { className: "agg-settlement-summary-expanded flex flex-col gap-2", children: [
1047
- /* @__PURE__ */ jsx2(
1048
- "p",
1049
- {
1050
- id: contentId,
1051
- className: cn(
1052
- "agg-settlement-summary-text",
1053
- "text-agg-sm leading-agg-5 text-agg-foreground",
1054
- "break-words [overflow-wrap:anywhere]"
1055
- ),
1056
- children: resolvedContent
1057
- }
1058
- ),
1059
- shouldShowToggle ? /* @__PURE__ */ jsx2(
1060
- "button",
1061
- {
1062
- type: "button",
1063
- className: cn(
1064
- "agg-settlement-summary-toggle",
1065
- "w-fit shrink-0 cursor-pointer whitespace-nowrap text-left text-agg-sm font-agg-bold leading-agg-5 text-agg-primary",
1066
- "hover:opacity-80",
1067
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-agg-primary focus-visible:ring-offset-0 focus-visible:ring-offset-agg-secondary"
1068
- ),
1069
- "aria-controls": contentId,
1070
- "aria-expanded": isExpanded,
1071
- onClick: handleToggle,
1072
- children: toggleLabel
1073
- }
1074
- ) : null
1075
- ] }) : /* @__PURE__ */ jsxs2("div", { className: "agg-settlement-summary-collapsed flex w-full items-start gap-3", children: [
1076
- /* @__PURE__ */ jsx2(
1077
- "p",
1078
- {
1079
- id: contentId,
1080
- className: cn(
1081
- "agg-settlement-summary-text",
1082
- "min-w-0 flex-1 truncate text-agg-sm leading-agg-5 text-agg-foreground"
1083
- ),
1084
- children: resolvedContent
1085
- }
1086
- ),
1087
- shouldShowToggle ? /* @__PURE__ */ jsx2(
1088
- "button",
1089
- {
1090
- type: "button",
1091
- className: cn(
1092
- "agg-settlement-summary-toggle",
1093
- "shrink-0 cursor-pointer whitespace-nowrap text-agg-sm font-agg-bold leading-agg-5 text-agg-primary",
1094
- "hover:opacity-80",
1095
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-agg-primary focus-visible:ring-offset-0 focus-visible:ring-offset-agg-secondary"
1096
- ),
1097
- "aria-controls": contentId,
1098
- "aria-expanded": isExpanded,
1099
- onClick: handleToggle,
1100
- children: toggleLabel
1101
- }
1102
- ) : null
1103
- ] })
998
+ /* @__PURE__ */ jsx2(
999
+ "button",
1000
+ {
1001
+ type: "button",
1002
+ className: cn(
1003
+ "agg-settlement-summary-toggle",
1004
+ "shrink-0 cursor-pointer whitespace-nowrap text-agg-sm font-agg-bold leading-agg-5 text-agg-primary",
1005
+ "hover:opacity-80",
1006
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-agg-primary focus-visible:ring-offset-0 focus-visible:ring-offset-agg-secondary"
1007
+ ),
1008
+ "aria-controls": settlementSectionId,
1009
+ onClick: handleReadFullDetails,
1010
+ children: labels.settlementSummary.readFullDetails
1011
+ }
1012
+ )
1104
1013
  ] })
1105
1014
  ] });
1106
1015
  };
@@ -1120,11 +1029,11 @@ import {
1120
1029
  useSdkUiConfig as useSdkUiConfig2,
1121
1030
  useVenueEvent as useVenueEvent2
1122
1031
  } from "@agg-build/hooks";
1123
- import { useEffect as useEffect3, useMemo as useMemo4, useRef as useRef3, useState as useState4 } from "react";
1032
+ import { useEffect as useEffect2, useMemo as useMemo5, useRef as useRef2, useState as useState3 } from "react";
1124
1033
 
1125
1034
  // src/primitives/chart/chart-type-switch.tsx
1126
1035
  import { useLabels as useLabels3 } from "@agg-build/hooks";
1127
- import { useMemo as useMemo2 } from "react";
1036
+ import { useMemo as useMemo3 } from "react";
1128
1037
 
1129
1038
  // src/primitives/chart/chart-type-switch.constants.ts
1130
1039
  var CHART_TYPE_SWITCH_OPTION_KEYS = ["line", "candlestick"];
@@ -1156,7 +1065,7 @@ var ChartTypeSwitch = ({
1156
1065
  className
1157
1066
  }) => {
1158
1067
  const labels = useLabels3();
1159
- const options = useMemo2(
1068
+ const options = useMemo3(
1160
1069
  () => CHART_TYPE_SWITCH_OPTION_KEYS.map((chartType) => ({
1161
1070
  value: chartType,
1162
1071
  iconName: resolveChartTypeOptionIconName(chartType),
@@ -1272,7 +1181,7 @@ var filterChartVenueOutcomesByRenderableVenues = ({
1272
1181
 
1273
1182
  // src/events/item-details/event-list-item-details-market-selector.tsx
1274
1183
  import { useLabels as useLabels4 } from "@agg-build/hooks";
1275
- import { useEffect as useEffect2, useLayoutEffect, useMemo as useMemo3, useRef as useRef2, useState as useState3 } from "react";
1184
+ import { useEffect, useLayoutEffect, useMemo as useMemo4, useRef, useState as useState2 } from "react";
1276
1185
  import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
1277
1186
  var MARKET_PILL_MAX_ROWS = 2;
1278
1187
  var MARKET_PILL_FALLBACK_CONTAINER_WIDTH = 640;
@@ -1369,37 +1278,37 @@ var EventListItemDetailsMarketSelector = ({
1369
1278
  }) => {
1370
1279
  var _a;
1371
1280
  const labels = useLabels4();
1372
- const containerRef = useRef2(null);
1373
- const measurementContainerRef = useRef2(null);
1374
- const moreButtonRef = useRef2(null);
1375
- const dropdownInputRef = useRef2(null);
1376
- const moreButtonMeasureRef = useRef2(null);
1377
- const optionMeasureRefs = useRef2({});
1378
- const [layout, setLayout] = useState3(() => ({
1281
+ const containerRef = useRef(null);
1282
+ const measurementContainerRef = useRef(null);
1283
+ const moreButtonRef = useRef(null);
1284
+ const dropdownInputRef = useRef(null);
1285
+ const moreButtonMeasureRef = useRef(null);
1286
+ const optionMeasureRefs = useRef({});
1287
+ const [layout, setLayout] = useState2(() => ({
1379
1288
  visibleItems: options,
1380
1289
  hiddenItems: []
1381
1290
  }));
1382
- const [isDropdownOpen, setIsDropdownOpen] = useState3(false);
1383
- const [isMobileViewport, setIsMobileViewport] = useState3(false);
1384
- const [searchValue, setSearchValue] = useState3("");
1385
- const [dropdownPosition, setDropdownPosition] = useState3({
1291
+ const [isDropdownOpen, setIsDropdownOpen] = useState2(false);
1292
+ const [isMobileViewport, setIsMobileViewport] = useState2(false);
1293
+ const [searchValue, setSearchValue] = useState2("");
1294
+ const [dropdownPosition, setDropdownPosition] = useState2({
1386
1295
  left: 0,
1387
1296
  top: 0,
1388
1297
  width: 0
1389
1298
  });
1390
- const selectedHiddenOption = useMemo3(() => {
1299
+ const selectedHiddenOption = useMemo4(() => {
1391
1300
  var _a2;
1392
1301
  return (_a2 = layout.hiddenItems.find((option) => option.value === selectedValue)) != null ? _a2 : null;
1393
1302
  }, [layout.hiddenItems, selectedValue]);
1394
1303
  const moreButtonLabel = (_a = selectedHiddenOption == null ? void 0 : selectedHiddenOption.label) != null ? _a : MARKET_PILL_MORE_LABEL;
1395
1304
  const isMoreButtonSelected = selectedHiddenOption != null;
1396
- const filteredOptions = useMemo3(() => {
1305
+ const filteredOptions = useMemo4(() => {
1397
1306
  const normalizedSearchValue = searchValue.trim().toLowerCase();
1398
1307
  if (!normalizedSearchValue) return options;
1399
1308
  return options.filter((option) => option.label.toLowerCase().includes(normalizedSearchValue));
1400
1309
  }, [options, searchValue]);
1401
- const lastMeasuredKeyRef = useRef2(null);
1402
- const measureFrameRef = useRef2(null);
1310
+ const lastMeasuredKeyRef = useRef(null);
1311
+ const measureFrameRef = useRef(null);
1403
1312
  useLayoutEffect(() => {
1404
1313
  const measureLayout = () => {
1405
1314
  var _a2, _b, _c, _d, _e;
@@ -1481,7 +1390,7 @@ var EventListItemDetailsMarketSelector = ({
1481
1390
  }
1482
1391
  };
1483
1392
  }, [moreButtonLabel, options]);
1484
- useEffect2(() => {
1393
+ useEffect(() => {
1485
1394
  if (typeof window === "undefined" || typeof window.matchMedia !== "function") return;
1486
1395
  const mediaQueryList = window.matchMedia(MOBILE_TABS_MEDIA_QUERY);
1487
1396
  const handleMediaQueryChange = (event) => {
@@ -1499,7 +1408,7 @@ var EventListItemDetailsMarketSelector = ({
1499
1408
  mediaQueryList.removeListener(handleMediaQueryChange);
1500
1409
  };
1501
1410
  }, []);
1502
- useEffect2(() => {
1411
+ useEffect(() => {
1503
1412
  if (!isDropdownOpen) {
1504
1413
  setSearchValue("");
1505
1414
  return;
@@ -1548,7 +1457,7 @@ var EventListItemDetailsMarketSelector = ({
1548
1457
  resizeObserver.disconnect();
1549
1458
  };
1550
1459
  }, [isDropdownOpen, isMobileViewport, moreButtonLabel]);
1551
- useEffect2(() => {
1460
+ useEffect(() => {
1552
1461
  if (!isDropdownOpen) return;
1553
1462
  const handlePointerDown = (event) => {
1554
1463
  var _a2;
@@ -1894,11 +1803,11 @@ var EventListItemDetailsGraphSection = ({
1894
1803
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
1895
1804
  const labels = useLabels5();
1896
1805
  const tradingContext = useEventTradingContext();
1897
- const [selectedGraphVenue, setSelectedGraphVenue] = useState4(null);
1898
- const [chartOutcomeLabel, setChartOutcomeLabel] = useState4(
1806
+ const [selectedGraphVenue, setSelectedGraphVenue] = useState3(null);
1807
+ const [chartOutcomeLabel, setChartOutcomeLabel] = useState3(
1899
1808
  (_c = (_b = (_a = tradingContext == null ? void 0 : tradingContext.selectedOutcome) == null ? void 0 : _a.label) == null ? void 0 : _b.trim()) != null ? _c : null
1900
1809
  );
1901
- useEffect3(() => {
1810
+ useEffect2(() => {
1902
1811
  var _a2, _b2, _c2;
1903
1812
  if (chartOutcomeLabel != null) return;
1904
1813
  const label = (_c2 = (_b2 = (_a2 = tradingContext == null ? void 0 : tradingContext.selectedOutcome) == null ? void 0 : _a2.label) == null ? void 0 : _b2.trim()) != null ? _c2 : null;
@@ -1912,15 +1821,15 @@ var EventListItemDetailsGraphSection = ({
1912
1821
  general: { theme }
1913
1822
  } = useSdkUiConfig2();
1914
1823
  const isDarkTheme = theme === "dark";
1915
- const timeWindow = useMemo4(() => {
1824
+ const timeWindow = useMemo5(() => {
1916
1825
  return getTimeWindowByRange(selectedChartTimeRange);
1917
1826
  }, [selectedChartTimeRange]);
1918
- const availableMarkets = useMemo4(() => {
1827
+ const availableMarkets = useMemo5(() => {
1919
1828
  if (venueMarkets.length === 0) return [];
1920
1829
  return normalizeVenueMarketCluster(venueMarkets, tradingContext == null ? void 0 : tradingContext.selectedMarketId);
1921
1830
  }, [tradingContext == null ? void 0 : tradingContext.selectedMarketId, venueMarkets]);
1922
1831
  const resolvedChartOutcomeLabel = (_g = chartOutcomeLabel != null ? chartOutcomeLabel : (_f = (_e = tradingContext == null ? void 0 : tradingContext.selectedOutcome) == null ? void 0 : _e.label) == null ? void 0 : _f.trim()) != null ? _g : null;
1923
- const availableVenueOutcomes = useMemo4(() => {
1832
+ const availableVenueOutcomes = useMemo5(() => {
1924
1833
  return resolveChartVenueOutcomes({
1925
1834
  eligibleVenueOutcomes: collectEligibleVenueOutcomes({
1926
1835
  venueMarkets: availableMarkets,
@@ -1944,13 +1853,13 @@ var EventListItemDetailsGraphSection = ({
1944
1853
  enabled: availableVenueOutcomes.length > 0,
1945
1854
  live
1946
1855
  });
1947
- const selectedMarketOutcomes = useMemo4(() => {
1856
+ const selectedMarketOutcomes = useMemo5(() => {
1948
1857
  var _a2, _b2;
1949
1858
  const selectedMarket = (_b2 = (_a2 = tradingContext == null ? void 0 : tradingContext.selectedMarket) != null ? _a2 : availableMarkets[0]) != null ? _b2 : null;
1950
1859
  if (!selectedMarket) return [];
1951
1860
  return sortOutcomeSelectorOutcomes(selectedMarket.venueMarketOutcomes);
1952
1861
  }, [availableMarkets, tradingContext == null ? void 0 : tradingContext.selectedMarket]);
1953
- const resolvedVenueChartSeries = useMemo4(() => {
1862
+ const resolvedVenueChartSeries = useMemo5(() => {
1954
1863
  return resolveMarketChartVenueSeries({
1955
1864
  chartData: scopedMarketChartData,
1956
1865
  transformProbability: (v) => v
@@ -1963,31 +1872,31 @@ var EventListItemDetailsGraphSection = ({
1963
1872
  lineStyle: "solid"
1964
1873
  }));
1965
1874
  }, [isDarkTheme, scopedMarketChartData]);
1966
- const chartAvailableVenueOutcomes = useMemo4(() => {
1875
+ const chartAvailableVenueOutcomes = useMemo5(() => {
1967
1876
  return filterChartVenueOutcomesByRenderableVenues({
1968
1877
  chartData: scopedMarketChartData,
1969
1878
  venueOutcomes: availableVenueOutcomes
1970
1879
  });
1971
1880
  }, [availableVenueOutcomes, scopedMarketChartData]);
1972
- const defaultCandlestickVenue = useMemo4(() => {
1881
+ const defaultCandlestickVenue = useMemo5(() => {
1973
1882
  var _a2, _b2, _c2, _d2, _e2, _f2;
1974
1883
  return (_f2 = (_e2 = (_c2 = (_a2 = chartAvailableVenueOutcomes.find((item) => item.venue === (tradingContext == null ? void 0 : tradingContext.selectedVenue))) == null ? void 0 : _a2.venue) != null ? _c2 : (_b2 = chartAvailableVenueOutcomes[0]) == null ? void 0 : _b2.venue) != null ? _e2 : (_d2 = availableVenueOutcomes[0]) == null ? void 0 : _d2.venue) != null ? _f2 : null;
1975
1884
  }, [availableVenueOutcomes, chartAvailableVenueOutcomes, tradingContext == null ? void 0 : tradingContext.selectedVenue]);
1976
1885
  const activeGraphVenue = selectedChartType === "candlestick" ? selectedGraphVenue != null ? selectedGraphVenue : defaultCandlestickVenue : selectedGraphVenue;
1977
- const visibleChartSeries = useMemo4(() => {
1886
+ const visibleChartSeries = useMemo5(() => {
1978
1887
  if (!activeGraphVenue) {
1979
1888
  return resolvedVenueChartSeries;
1980
1889
  }
1981
1890
  return resolvedVenueChartSeries.filter((seriesItem) => seriesItem.venue === activeGraphVenue);
1982
1891
  }, [activeGraphVenue, resolvedVenueChartSeries]);
1983
- const chartLiveState = useMemo4(() => {
1892
+ const chartLiveState = useMemo5(() => {
1984
1893
  return resolveMarketChartLiveState({
1985
1894
  chartData: scopedMarketChartData,
1986
1895
  selectedVenue: activeGraphVenue,
1987
1896
  transformProbability: (v) => v
1988
1897
  });
1989
1898
  }, [activeGraphVenue, scopedMarketChartData]);
1990
- useEffect3(() => {
1899
+ useEffect2(() => {
1991
1900
  if (!selectedGraphVenue) return;
1992
1901
  const hasSelectedGraphVenue = chartAvailableVenueOutcomes.some(
1993
1902
  (item) => item.venue === selectedGraphVenue
@@ -2135,14 +2044,14 @@ var EventListItemDetailsContent = ({
2135
2044
  onClick
2136
2045
  }) => {
2137
2046
  var _a, _b;
2138
- const [selectedChartType, setSelectedChartType] = useState4("line");
2139
- const lastAppliedEventSyncKeyRef = useRef3(null);
2140
- const lastAppliedDefaultRef = useRef3(null);
2047
+ const [selectedChartType, setSelectedChartType] = useState3("line");
2048
+ const lastAppliedEventSyncKeyRef = useRef2(null);
2049
+ const lastAppliedDefaultRef = useRef2(null);
2141
2050
  const config = useSdkUiConfig2();
2142
2051
  const labels = useLabels5();
2143
2052
  const tradingContext = useEventTradingContext();
2144
- const eventSyncKey = useMemo4(() => resolveEventDetailsSyncKey(event), [event]);
2145
- const resolvedEventTradingState = useMemo4(() => {
2053
+ const eventSyncKey = useMemo5(() => resolveEventDetailsSyncKey(event), [event]);
2054
+ const resolvedEventTradingState = useMemo5(() => {
2146
2055
  return eventTradingState != null ? eventTradingState : resolveEventTradingState(event);
2147
2056
  }, [event, eventTradingState]);
2148
2057
  const scopedSelectedMarket = (tradingContext == null ? void 0 : tradingContext.selectedEventId) === event.id ? (_a = tradingContext.selectedMarket) != null ? _a : resolvedEventTradingState.primaryMarket : resolvedEventTradingState.primaryMarket;
@@ -2152,7 +2061,7 @@ var EventListItemDetailsContent = ({
2152
2061
  scopedSelectedMarketId
2153
2062
  );
2154
2063
  const wsLivePrices = useLiveOutcomePrices(resolvedEventTradingState.displayMarkets);
2155
- const midpointsClusterMarkets = useMemo4(() => {
2064
+ const midpointsClusterMarkets = useMemo5(() => {
2156
2065
  if (resolvedEventTradingState.isTradingDisabled) return [];
2157
2066
  return normalizeVenueMarketCluster(
2158
2067
  resolvedEventTradingState.displayMarkets,
@@ -2164,14 +2073,14 @@ var EventListItemDetailsContent = ({
2164
2073
  scopedSelectedMarketId
2165
2074
  ]);
2166
2075
  const { prices: restMidpoints } = useMidpoints(midpointsClusterMarkets);
2167
- const livePrices = useMemo4(() => {
2076
+ const livePrices = useMemo5(() => {
2168
2077
  if (!restMidpoints.size) return wsLivePrices;
2169
2078
  if (!wsLivePrices.size) return restMidpoints;
2170
2079
  const merged = new Map(restMidpoints);
2171
2080
  for (const [k, v] of wsLivePrices) merged.set(k, v);
2172
2081
  return merged;
2173
2082
  }, [restMidpoints, wsLivePrices]);
2174
- useEffect3(() => {
2083
+ useEffect2(() => {
2175
2084
  if (!tradingContext) return;
2176
2085
  if (lastAppliedEventSyncKeyRef.current === eventSyncKey) return;
2177
2086
  if ((tradingContext == null ? void 0 : tradingContext.selectedEventId) !== event.id) {
@@ -2181,7 +2090,7 @@ var EventListItemDetailsContent = ({
2181
2090
  }
2182
2091
  lastAppliedEventSyncKeyRef.current = eventSyncKey;
2183
2092
  }, [event, eventSyncKey, tradingContext]);
2184
- useEffect3(() => {
2093
+ useEffect2(() => {
2185
2094
  if (!tradingContext) return;
2186
2095
  if (!defaultMarketId) return;
2187
2096
  if (tradingContext.selectedEventId !== event.id) return;
@@ -2208,19 +2117,19 @@ var EventListItemDetailsContent = ({
2208
2117
  tradingContext,
2209
2118
  tradingContext == null ? void 0 : tradingContext.selectedEventId
2210
2119
  ]);
2211
- const venueMarkets = useMemo4(
2120
+ const venueMarkets = useMemo5(
2212
2121
  () => resolvedEventTradingState.displayMarkets,
2213
2122
  [resolvedEventTradingState.displayMarkets]
2214
2123
  );
2215
- const sortedVenueMarkets = useMemo4(() => sortMarketsByYesOddsDesc(venueMarkets), [venueMarkets]);
2216
- const marketOptions = useMemo4(
2124
+ const sortedVenueMarkets = useMemo5(() => sortMarketsByYesOddsDesc(venueMarkets), [venueMarkets]);
2125
+ const marketOptions = useMemo5(
2217
2126
  () => sortedVenueMarkets.map((vm) => ({
2218
2127
  value: vm.id,
2219
2128
  label: vm.question
2220
2129
  })),
2221
2130
  [sortedVenueMarkets]
2222
2131
  );
2223
- const volumeLabel = useMemo4(() => {
2132
+ const volumeLabel = useMemo5(() => {
2224
2133
  const resolvedVolume = resolveDisplayVolume(event.volume, venueMarkets);
2225
2134
  if (typeof resolvedVolume !== "number") return "";
2226
2135
  return `${config.formatting.formatCompactCurrency(resolvedVolume)} ${labels.eventItemDetails.volumeSuffix}`;
@@ -2497,7 +2406,7 @@ var orderbookDefaultLabels = {
2497
2406
  };
2498
2407
 
2499
2408
  // src/events/orderbook/use-center-orderbook-spread.ts
2500
- import { useCallback as useCallback3, useLayoutEffect as useLayoutEffect2, useRef as useRef4 } from "react";
2409
+ import { useCallback as useCallback2, useLayoutEffect as useLayoutEffect2, useRef as useRef3 } from "react";
2501
2410
  var maxAutoCenterAttempts = 12;
2502
2411
  var userScrollKeys = /* @__PURE__ */ new Set(["ArrowDown", "ArrowUp", "PageDown", "PageUp", "Home", "End", " "]);
2503
2412
  var useCenterOrderbookSpread = ({
@@ -2508,10 +2417,10 @@ var useCenterOrderbookSpread = ({
2508
2417
  rowCount,
2509
2418
  enabled = true
2510
2419
  }) => {
2511
- const hasAutoCenteredRef = useRef4(false);
2512
- const hasUserScrolledRef = useRef4(false);
2513
- const animationFrameRef = useRef4(null);
2514
- const retryCountRef = useRef4(0);
2420
+ const hasAutoCenteredRef = useRef3(false);
2421
+ const hasUserScrolledRef = useRef3(false);
2422
+ const animationFrameRef = useRef3(null);
2423
+ const retryCountRef = useRef3(0);
2515
2424
  const resetKey = marketId != null ? marketId : "";
2516
2425
  useLayoutEffect2(() => {
2517
2426
  const cancelPendingFrame = () => {
@@ -2638,7 +2547,7 @@ var useCenterOrderbookSpread = ({
2638
2547
  disconnectResizeObserver();
2639
2548
  };
2640
2549
  }, [containerRef, enabled, resetKey, rowCount, spreadRef]);
2641
- const recenter = useCallback3(() => {
2550
+ const recenter = useCallback2(() => {
2642
2551
  const container = containerRef.current;
2643
2552
  const spread = spreadRef.current;
2644
2553
  if (!container || !spread) return;
@@ -2659,7 +2568,7 @@ var useCenterOrderbookSpread = ({
2659
2568
 
2660
2569
  // src/events/orderbook/index.tsx
2661
2570
  import { sortVenues as sortVenues3, useAggUiConfig } from "@agg-build/hooks";
2662
- import { useEffect as useEffect4, useRef as useRef5 } from "react";
2571
+ import { useEffect as useEffect3, useRef as useRef4 } from "react";
2663
2572
  import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
2664
2573
  var OrderbookVenueLogos = ({ venues }) => {
2665
2574
  const visible = sortVenues3(venues).slice(0, orderbookMaxVisibleVenues);
@@ -2756,8 +2665,8 @@ var Orderbook = ({
2756
2665
  var _a, _b, _c, _d, _e;
2757
2666
  const { enableWebsocketsLogs } = useAggUiConfig();
2758
2667
  const labels = __spreadValues(__spreadValues({}, orderbookDefaultLabels), labelsProp);
2759
- const scrollContainerRef = useRef5(null);
2760
- const spreadRowRef = useRef5(null);
2668
+ const scrollContainerRef = useRef4(null);
2669
+ const spreadRowRef = useRef4(null);
2761
2670
  const autoCenterMarketId = (_a = marketId != null ? marketId : outcomeId) != null ? _a : null;
2762
2671
  const maxVisibleRows = Math.max(1, visibleRows);
2763
2672
  const totalVisibleRows = maxVisibleRows * 2 + 1;
@@ -2774,7 +2683,7 @@ var Orderbook = ({
2774
2683
  const spreadEntry = entries.find(
2775
2684
  (e) => e.kind === "spread"
2776
2685
  );
2777
- useEffect4(() => {
2686
+ useEffect3(() => {
2778
2687
  var _a2, _b2;
2779
2688
  if (!enableWebsocketsLogs) return;
2780
2689
  console.debug("[AggUI][orderbook] component_rendered", {
@@ -2974,7 +2883,7 @@ import {
2974
2883
  useVenueMarkets as useVenueMarkets2,
2975
2884
  useViewportMidpoints
2976
2885
  } from "@agg-build/hooks";
2977
- import { useEffect as useEffect5, useId as useId2, useMemo as useMemo5, useRef as useRef6, useState as useState5 } from "react";
2886
+ import { useEffect as useEffect4, useId, useMemo as useMemo6, useRef as useRef5, useState as useState4 } from "react";
2978
2887
 
2979
2888
  // src/events/market-details/market-details-outcome-button.tsx
2980
2889
  import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
@@ -3151,9 +3060,9 @@ var MarketDetailsContent = ({
3151
3060
  const isDarkTheme = theme === "dark";
3152
3061
  const labels = useLabels6();
3153
3062
  const tradingContext = useEventTradingContext2();
3154
- const detailsContentId = useId2();
3063
+ const detailsContentId = useId();
3155
3064
  const wsLivePrices = useLiveOutcomePrices2(venueMarkets);
3156
- const model = useMemo5(() => {
3065
+ const model = useMemo6(() => {
3157
3066
  return buildMarketDetailsModel({
3158
3067
  venueMarkets,
3159
3068
  marketId,
@@ -3163,15 +3072,15 @@ var MarketDetailsContent = ({
3163
3072
  labels
3164
3073
  });
3165
3074
  }, [config.formatting.formatCompactCurrency, venueMarkets, image, labels, marketId, title]);
3166
- const resolvedMarket = useMemo5(() => {
3075
+ const resolvedMarket = useMemo6(() => {
3167
3076
  return resolveMarketFromVenueMarkets(venueMarkets, marketId);
3168
3077
  }, [venueMarkets, marketId]);
3169
- const clusterMidpointMarkets = useMemo5(() => {
3078
+ const clusterMidpointMarkets = useMemo6(() => {
3170
3079
  if (!controlledIsOpened || !resolvedMarket) return [];
3171
3080
  return resolvedMarket.venueMarkets;
3172
3081
  }, [controlledIsOpened, resolvedMarket]);
3173
3082
  const { prices: clusterMidpoints, venueByOutcomeId: clusterVenueByOutcomeId } = useMidpoints2(clusterMidpointMarkets);
3174
- const livePrices = useMemo5(() => {
3083
+ const livePrices = useMemo6(() => {
3175
3084
  const merged = /* @__PURE__ */ new Map();
3176
3085
  if (midpointsFallback == null ? void 0 : midpointsFallback.size) {
3177
3086
  for (const [outcomeId, price] of midpointsFallback) {
@@ -3186,49 +3095,49 @@ var MarketDetailsContent = ({
3186
3095
  for (const [k, v] of wsLivePrices) merged.set(k, v);
3187
3096
  return merged;
3188
3097
  }, [clusterMidpoints, midpointsFallback, wsLivePrices]);
3189
- const scopedMarketForCard = useMemo5(() => {
3098
+ const scopedMarketForCard = useMemo6(() => {
3190
3099
  var _a2;
3191
3100
  if (!model) return null;
3192
3101
  return (_a2 = model.market.venueMarkets.find((venueMarket) => venueMarket.id === model.market.id)) != null ? _a2 : model.primaryVenueMarket;
3193
3102
  }, [model]);
3194
- const marketTradingState = useMemo5(() => {
3103
+ const marketTradingState = useMemo6(() => {
3195
3104
  return resolveMarketTradingState(scopedMarketForCard);
3196
3105
  }, [scopedMarketForCard]);
3197
3106
  const isResolvedMarket = marketTradingState.kind === "resolved";
3198
3107
  const isOutcomeSelectionLocked = marketTradingState.isTradingDisabled;
3199
3108
  const isUpcomingMarket = marketTradingState.kind === "unopened";
3200
3109
  const marketStatePresentation = resolveTradingStatePresentation(labels, marketTradingState);
3201
- const marketDetailsTabs = useMemo5(() => {
3110
+ const marketDetailsTabs = useMemo6(() => {
3202
3111
  return getMarketDetailsTabs(labels);
3203
3112
  }, [labels]);
3204
- const [selectedTab, setSelectedTab] = useState5(
3113
+ const [selectedTab, setSelectedTab] = useState4(
3205
3114
  () => resolveInitialTab(defaultTab)
3206
3115
  );
3207
- const [isOpened, setIsOpened] = useState5(controlledIsOpened);
3208
- useEffect5(() => {
3116
+ const [isOpened, setIsOpened] = useState4(controlledIsOpened);
3117
+ useEffect4(() => {
3209
3118
  setSelectedTab(resolveInitialTab(defaultTab));
3210
3119
  }, [defaultTab]);
3211
- useEffect5(() => {
3120
+ useEffect4(() => {
3212
3121
  setIsOpened(controlledIsOpened);
3213
3122
  }, [controlledIsOpened]);
3214
3123
  const selectedTimeRange = config.chart.selectedChartTimeRange;
3215
3124
  const setSelectedTimeRange = config.chart.setSelectedChartTimeRange;
3216
3125
  const effectiveSelectedTab = isResolvedMarket ? "graph" : selectedTab;
3217
3126
  const effectiveChartTimeRange = isResolvedMarket ? "ALL" : selectedTimeRange;
3218
- const [selectedChartType, setSelectedChartType] = useState5("line");
3127
+ const [selectedChartType, setSelectedChartType] = useState4("line");
3219
3128
  const scopedSelectedOutcome = (_a = tradingContext == null ? void 0 : tradingContext.selectedOutcome) != null ? _a : null;
3220
3129
  const selectedOutcomeId = (_b = scopedSelectedOutcome == null ? void 0 : scopedSelectedOutcome.id) != null ? _b : null;
3221
3130
  const selectedOutcomeLabel = (_c = scopedSelectedOutcome == null ? void 0 : scopedSelectedOutcome.label) != null ? _c : null;
3222
3131
  const selectOutcome = tradingContext == null ? void 0 : tradingContext.selectOutcome;
3223
- const [selectedGraphVenue, setSelectedGraphVenue] = useState5(null);
3224
- const [chartOutcomeLabel, setChartOutcomeLabel] = useState5(selectedOutcomeLabel);
3225
- useEffect5(() => {
3132
+ const [selectedGraphVenue, setSelectedGraphVenue] = useState4(null);
3133
+ const [chartOutcomeLabel, setChartOutcomeLabel] = useState4(selectedOutcomeLabel);
3134
+ useEffect4(() => {
3226
3135
  if (!isOpened) return;
3227
3136
  if (selectedOutcomeLabel) {
3228
3137
  setChartOutcomeLabel(selectedOutcomeLabel);
3229
3138
  }
3230
3139
  }, [isOpened]);
3231
- useEffect5(() => {
3140
+ useEffect4(() => {
3232
3141
  var _a2;
3233
3142
  if (!isOpened || !model) return;
3234
3143
  if (isOutcomeSelectionLocked) return;
@@ -3248,7 +3157,7 @@ var MarketDetailsContent = ({
3248
3157
  selectedOutcomeId,
3249
3158
  selectOutcome
3250
3159
  ]);
3251
- const headerOutcomeItems = useMemo5(() => {
3160
+ const headerOutcomeItems = useMemo6(() => {
3252
3161
  if (!model) return [];
3253
3162
  const items = resolveHeaderOutcomeItems(model.market.venueMarkets);
3254
3163
  return items.map((item) => {
@@ -3273,7 +3182,7 @@ var MarketDetailsContent = ({
3273
3182
  midpointsFallbackVenues,
3274
3183
  wsLivePrices
3275
3184
  ]);
3276
- const headlineProbability = useMemo5(() => {
3185
+ const headlineProbability = useMemo6(() => {
3277
3186
  var _a2, _b2, _c2, _d2;
3278
3187
  if (!model || !scopedMarketForCard) return void 0;
3279
3188
  const yesOutcome = resolveYesOutcome(scopedMarketForCard);
@@ -3285,7 +3194,7 @@ var MarketDetailsContent = ({
3285
3194
  if (restPrice != null) return restPrice;
3286
3195
  return (_d2 = findLivePriceById(wsLivePrices, displayOutcome.id)) != null ? _d2 : displayOutcome.price;
3287
3196
  }, [model, scopedMarketForCard, clusterMidpoints, midpointsFallback, wsLivePrices]);
3288
- const selectedOutcomesByVenue = useMemo5(() => {
3197
+ const selectedOutcomesByVenue = useMemo6(() => {
3289
3198
  if (!model) return [];
3290
3199
  return collectEligibleVenueOutcomes({
3291
3200
  venueMarkets: model.market.venueMarkets,
@@ -3293,7 +3202,7 @@ var MarketDetailsContent = ({
3293
3202
  });
3294
3203
  }, [model, selectedOutcomeLabel]);
3295
3204
  const resolvedChartOutcomeLabel = chartOutcomeLabel != null ? chartOutcomeLabel : selectedOutcomeLabel;
3296
- const chartOutcomesByVenue = useMemo5(() => {
3205
+ const chartOutcomesByVenue = useMemo6(() => {
3297
3206
  if (!model) return [];
3298
3207
  return resolveChartVenueOutcomes({
3299
3208
  eligibleVenueOutcomes: collectEligibleVenueOutcomes({
@@ -3305,13 +3214,13 @@ var MarketDetailsContent = ({
3305
3214
  }, [livePrices, model, resolvedChartOutcomeLabel]);
3306
3215
  const chartEnabled = isOpened && effectiveSelectedTab === "graph";
3307
3216
  const orderBookEnabled = isOpened && effectiveSelectedTab === "order-book" && !marketTradingState.isTradingDisabled;
3308
- const timeWindow = useMemo5(() => {
3217
+ const timeWindow = useMemo6(() => {
3309
3218
  return getTimeWindowByRange(effectiveChartTimeRange);
3310
3219
  }, [effectiveChartTimeRange]);
3311
3220
  const primaryVenueMarketId = (_e = (_d = selectedOutcomesByVenue[0]) == null ? void 0 : _d.market.id) != null ? _e : null;
3312
3221
  const primaryOutcomeId = (_g = (_f = selectedOutcomesByVenue[0]) == null ? void 0 : _f.outcome.id) != null ? _g : null;
3313
3222
  const chartPrimaryOutcomeId = (_i = (_h = chartOutcomesByVenue[0]) == null ? void 0 : _h.outcome.id) != null ? _i : null;
3314
- const chartVenueOutcomeIds = useMemo5(() => {
3223
+ const chartVenueOutcomeIds = useMemo6(() => {
3315
3224
  return chartOutcomesByVenue.map((item) => item.outcome.id);
3316
3225
  }, [chartOutcomesByVenue]);
3317
3226
  const {
@@ -3337,14 +3246,14 @@ var MarketDetailsContent = ({
3337
3246
  })),
3338
3247
  live
3339
3248
  });
3340
- const marketOrderbookDataById = useMemo5(() => {
3249
+ const marketOrderbookDataById = useMemo6(() => {
3341
3250
  var _a2;
3342
3251
  return (_a2 = marketOrderbookResult.dataById) != null ? _a2 : {};
3343
3252
  }, [marketOrderbookResult]);
3344
3253
  const isOrderBookLoading = marketOrderbookResult.isLoading;
3345
3254
  const orderBookError = marketOrderbookResult.error;
3346
3255
  const refetchOrderBook = marketOrderbookResult.refetch;
3347
- const aggregatedOrderbookRows = useMemo5(() => {
3256
+ const aggregatedOrderbookRows = useMemo6(() => {
3348
3257
  return mergeVenueOutcomeOrderbooks({
3349
3258
  eligibleOutcomes: selectedOutcomesByVenue,
3350
3259
  orderbooksByOutcomeId: marketOrderbookDataById
@@ -3352,7 +3261,7 @@ var MarketDetailsContent = ({
3352
3261
  }, [marketOrderbookDataById, selectedOutcomesByVenue]);
3353
3262
  const askRows = aggregatedOrderbookRows.askRows;
3354
3263
  const bidRows = aggregatedOrderbookRows.bidRows;
3355
- const unifiedEntries = useMemo5(() => {
3264
+ const unifiedEntries = useMemo6(() => {
3356
3265
  return resolveUnifiedOrderBookEntries({
3357
3266
  askRows,
3358
3267
  bidRows,
@@ -3360,7 +3269,7 @@ var MarketDetailsContent = ({
3360
3269
  spread: aggregatedOrderbookRows.spread
3361
3270
  });
3362
3271
  }, [aggregatedOrderbookRows.midpoint, aggregatedOrderbookRows.spread, askRows, bidRows]);
3363
- const orderbookSnapshotKey = useMemo5(() => {
3272
+ const orderbookSnapshotKey = useMemo6(() => {
3364
3273
  if (selectedOutcomesByVenue.length === 0) return null;
3365
3274
  return selectedOutcomesByVenue.map((item) => {
3366
3275
  var _a2, _b2;
@@ -3368,13 +3277,13 @@ var MarketDetailsContent = ({
3368
3277
  return `${item.outcomeId}:${snapshotVersion}`;
3369
3278
  }).join("|");
3370
3279
  }, [marketOrderbookDataById, selectedOutcomesByVenue]);
3371
- const chartAvailableOutcomesByVenue = useMemo5(() => {
3280
+ const chartAvailableOutcomesByVenue = useMemo6(() => {
3372
3281
  return filterChartVenueOutcomesByRenderableVenues({
3373
3282
  chartData: marketChartData,
3374
3283
  venueOutcomes: chartOutcomesByVenue
3375
3284
  });
3376
3285
  }, [chartOutcomesByVenue, marketChartData]);
3377
- const graphSeries = useMemo5(() => {
3286
+ const graphSeries = useMemo6(() => {
3378
3287
  var _a2, _b2, _c2, _d2;
3379
3288
  const baseColor = resolveSeriesColor(
3380
3289
  (_d2 = (_c2 = selectedGraphVenue != null ? selectedGraphVenue : (_a2 = chartAvailableOutcomesByVenue[0]) == null ? void 0 : _a2.venue) != null ? _c2 : (_b2 = chartOutcomesByVenue[0]) == null ? void 0 : _b2.venue) != null ? _d2 : "polymarket",
@@ -3402,14 +3311,14 @@ var MarketDetailsContent = ({
3402
3311
  chartAvailableOutcomesByVenue,
3403
3312
  chartOutcomesByVenue
3404
3313
  ]);
3405
- const graphLiveState = useMemo5(() => {
3314
+ const graphLiveState = useMemo6(() => {
3406
3315
  return resolveMarketChartLiveState({
3407
3316
  chartData: marketChartData,
3408
3317
  selectedVenue: selectedGraphVenue,
3409
3318
  transformProbability: (value) => value
3410
3319
  });
3411
3320
  }, [marketChartData, selectedGraphVenue]);
3412
- const otherRows = useMemo5(() => {
3321
+ const otherRows = useMemo6(() => {
3413
3322
  if (!model) return [];
3414
3323
  return resolveOtherTabRows(model.market, labels);
3415
3324
  }, [labels, model]);
@@ -3483,7 +3392,7 @@ var MarketDetailsContent = ({
3483
3392
  title: labels.marketDetails.orderBookEmptyTitle,
3484
3393
  description: labels.marketDetails.orderBookEmptyDescription
3485
3394
  } : { kind: "data" };
3486
- useEffect5(() => {
3395
+ useEffect4(() => {
3487
3396
  if (!selectedGraphVenue) {
3488
3397
  return;
3489
3398
  }
@@ -3999,9 +3908,9 @@ var MarketDetailsList = ({
3999
3908
  const labels = useLabels6();
4000
3909
  const tradingContext = useEventTradingContext2();
4001
3910
  const selectedMarketId = (_a = tradingContext == null ? void 0 : tradingContext.selectedMarketId) != null ? _a : null;
4002
- const [expandedMarketId, setExpandedMarketId] = useState5(selectedMarketId);
4003
- const previousSelectedMarketIdRef = useRef6(selectedMarketId);
4004
- const [areResolvedMarketsVisible, setAreResolvedMarketsVisible] = useState5(false);
3911
+ const [expandedMarketId, setExpandedMarketId] = useState4(selectedMarketId);
3912
+ const previousSelectedMarketIdRef = useRef5(selectedMarketId);
3913
+ const [areResolvedMarketsVisible, setAreResolvedMarketsVisible] = useState4(false);
4005
3914
  const resolvedEventId = eventId || "";
4006
3915
  const {
4007
3916
  markets: rawMarkets,
@@ -4014,7 +3923,7 @@ var MarketDetailsList = ({
4014
3923
  sortBy: "yesPrice",
4015
3924
  sortDir: "desc"
4016
3925
  });
4017
- const sourceMarkets = useMemo5(() => {
3926
+ const sourceMarkets = useMemo6(() => {
4018
3927
  var _a2;
4019
3928
  if ((_a2 = eventTradingState == null ? void 0 : eventTradingState.marketStates) == null ? void 0 : _a2.length) {
4020
3929
  return eventTradingState.marketStates.map((item) => item.market);
@@ -4022,10 +3931,10 @@ var MarketDetailsList = ({
4022
3931
  if (providedMarkets) return providedMarkets;
4023
3932
  return rawMarkets;
4024
3933
  }, [eventTradingState == null ? void 0 : eventTradingState.marketStates, providedMarkets, rawMarkets]);
4025
- const isResolvedEvent = useMemo5(() => {
3934
+ const isResolvedEvent = useMemo6(() => {
4026
3935
  return resolveIsResolvedEvent(sourceMarkets, eventTradingState);
4027
3936
  }, [eventTradingState, sourceMarkets]);
4028
- const groupedMarkets = useMemo5(() => {
3937
+ const groupedMarkets = useMemo6(() => {
4029
3938
  const sortedMarkets = sortMarketsByYesOddsDesc(sourceMarkets);
4030
3939
  if (sortedMarkets.length === 0) {
4031
3940
  return {
@@ -4066,16 +3975,16 @@ var MarketDetailsList = ({
4066
3975
  return { primary, upcoming, resolved, closed };
4067
3976
  }, [eventTradingState, isResolvedEvent, sourceMarkets]);
4068
3977
  const shouldShowResolvedToggle = !isResolvedEvent && groupedMarkets.resolved.length > 0;
4069
- const visibleResolvedMarkets = useMemo5(() => {
3978
+ const visibleResolvedMarkets = useMemo6(() => {
4070
3979
  if (isResolvedEvent || areResolvedMarketsVisible) return groupedMarkets.resolved;
4071
3980
  return [];
4072
3981
  }, [areResolvedMarketsVisible, groupedMarkets.resolved, isResolvedEvent]);
4073
- const displayedMarkets = useMemo5(() => {
3982
+ const displayedMarkets = useMemo6(() => {
4074
3983
  return [...groupedMarkets.primary, ...visibleResolvedMarkets];
4075
3984
  }, [groupedMarkets.primary, visibleResolvedMarkets]);
4076
3985
  const hasPrefetchedMarkets = !!providedMarkets || !!((_b = eventTradingState == null ? void 0 : eventTradingState.marketStates) == null ? void 0 : _b.length);
4077
3986
  const { prices: midpointsFallback, venueByOutcomeId: midpointsFallbackVenues } = useViewportMidpoints(displayedMarkets);
4078
- useEffect5(() => {
3987
+ useEffect4(() => {
4079
3988
  if (isResolvedEvent) {
4080
3989
  setAreResolvedMarketsVisible(false);
4081
3990
  return;
@@ -4084,14 +3993,14 @@ var MarketDetailsList = ({
4084
3993
  setAreResolvedMarketsVisible(false);
4085
3994
  }
4086
3995
  }, [groupedMarkets.resolved.length, isResolvedEvent]);
4087
- useEffect5(() => {
3996
+ useEffect4(() => {
4088
3997
  if (previousSelectedMarketIdRef.current === selectedMarketId) return;
4089
3998
  previousSelectedMarketIdRef.current = selectedMarketId;
4090
3999
  if (!selectedMarketId) return;
4091
4000
  if (!displayedMarkets.some((market) => market.id === selectedMarketId)) return;
4092
4001
  setExpandedMarketId(selectedMarketId);
4093
4002
  }, [displayedMarkets, selectedMarketId]);
4094
- useEffect5(() => {
4003
+ useEffect4(() => {
4095
4004
  if (displayedMarkets.length === 0) return;
4096
4005
  if (selectedMarketId && displayedMarkets.some((market) => market.id === selectedMarketId)) {
4097
4006
  return;
@@ -4110,7 +4019,7 @@ var MarketDetailsList = ({
4110
4019
  }
4111
4020
  tradingContext == null ? void 0 : tradingContext.selectMarket(fallbackSelectableMarket.id, fallbackSelectableMarket);
4112
4021
  }, [displayedMarkets, expandedMarketId, selectedMarketId, sourceMarkets, tradingContext]);
4113
- useEffect5(() => {
4022
+ useEffect4(() => {
4114
4023
  var _a2, _b2;
4115
4024
  if (!expandedMarketId) return;
4116
4025
  if (displayedMarkets.some((market) => market.id === expandedMarketId)) return;
@@ -4223,11 +4132,11 @@ MarketDetailsList.displayName = "MarketDetailsList";
4223
4132
  // src/events/list/index.tsx
4224
4133
  import { MarketStatus as MarketStatus2, useAppConfig as useAppConfig2, useLabels as useLabels8, useVenueEvents } from "@agg-build/hooks";
4225
4134
  import { VENUES } from "@agg-build/sdk";
4226
- import { useEffect as useEffect7, useMemo as useMemo7, useRef as useRef8, useState as useState7 } from "react";
4135
+ import { useEffect as useEffect6, useMemo as useMemo8, useRef as useRef7, useState as useState6 } from "react";
4227
4136
 
4228
4137
  // src/events/list/event-list-tabs.tsx
4229
4138
  import { useAppConfig, useLabels as useLabels7 } from "@agg-build/hooks";
4230
- import { useCallback as useCallback4, useEffect as useEffect6, useMemo as useMemo6, useRef as useRef7, useState as useState6 } from "react";
4139
+ import { useCallback as useCallback3, useEffect as useEffect5, useMemo as useMemo7, useRef as useRef6, useState as useState5 } from "react";
4231
4140
  import { jsx as jsx10 } from "react/jsx-runtime";
4232
4141
  var renderTabIcon = (tab, isActive) => {
4233
4142
  if (tab.venueLogo) {
@@ -4246,7 +4155,7 @@ var renderTabIcon = (tab, isActive) => {
4246
4155
  var useEventListTabs = (tabs) => {
4247
4156
  const labels = useLabels7();
4248
4157
  const { disabledVenues } = useAppConfig();
4249
- return useMemo6(() => {
4158
+ return useMemo7(() => {
4250
4159
  const baseTabs = tabs != null ? tabs : getDefaultEventListTabs(labels);
4251
4160
  if (disabledVenues.length === 0) return baseTabs;
4252
4161
  const disabled = new Set(disabledVenues);
@@ -4265,12 +4174,12 @@ var EventListTabs = ({
4265
4174
  overflowBehavior
4266
4175
  }) => {
4267
4176
  const resolvedTabs = useEventListTabs(tabs);
4268
- useEffect6(() => {
4177
+ useEffect5(() => {
4269
4178
  if (resolvedTabs.length === 0) return;
4270
4179
  if (resolvedTabs.some((tab) => tab.value === activeTab)) return;
4271
4180
  onTabChange(resolvedTabs[0].value);
4272
4181
  }, [activeTab, onTabChange, resolvedTabs]);
4273
- const items = useMemo6(() => {
4182
+ const items = useMemo7(() => {
4274
4183
  return resolvedTabs.map((tab) => {
4275
4184
  const isActive = tab.value === activeTab;
4276
4185
  return {
@@ -4296,11 +4205,11 @@ var EventListTabs = ({
4296
4205
  };
4297
4206
  EventListTabs.displayName = "EventListTabs";
4298
4207
  var useEventListTabsHeaderOverflow = (recomputeOn) => {
4299
- const headerRef = useRef7(null);
4300
- const titleRef = useRef7(null);
4301
- const requiredTabsWidthRef = useRef7(0);
4302
- const [shouldUseSelectOverflow, setShouldUseSelectOverflow] = useState6(false);
4303
- const updateTabsOverflowBehavior = useCallback4(() => {
4208
+ const headerRef = useRef6(null);
4209
+ const titleRef = useRef6(null);
4210
+ const requiredTabsWidthRef = useRef6(0);
4211
+ const [shouldUseSelectOverflow, setShouldUseSelectOverflow] = useState5(false);
4212
+ const updateTabsOverflowBehavior = useCallback3(() => {
4304
4213
  if (typeof window === "undefined") return;
4305
4214
  const headerElement = headerRef.current;
4306
4215
  const titleElement = titleRef.current;
@@ -4326,10 +4235,10 @@ var useEventListTabsHeaderOverflow = (recomputeOn) => {
4326
4235
  if (requiredTabsWidthRef.current <= 0) return;
4327
4236
  setShouldUseSelectOverflow(requiredTabsWidthRef.current > availableTabsWidth);
4328
4237
  }, []);
4329
- useEffect6(() => {
4238
+ useEffect5(() => {
4330
4239
  updateTabsOverflowBehavior();
4331
4240
  }, [recomputeOn, updateTabsOverflowBehavior]);
4332
- useEffect6(() => {
4241
+ useEffect5(() => {
4333
4242
  if (typeof window === "undefined") return;
4334
4243
  const handleResize = () => {
4335
4244
  updateTabsOverflowBehavior();
@@ -4339,7 +4248,7 @@ var useEventListTabsHeaderOverflow = (recomputeOn) => {
4339
4248
  window.removeEventListener("resize", handleResize);
4340
4249
  };
4341
4250
  }, [updateTabsOverflowBehavior]);
4342
- useEffect6(() => {
4251
+ useEffect5(() => {
4343
4252
  if (typeof ResizeObserver === "undefined") return;
4344
4253
  const headerElement = headerRef.current;
4345
4254
  const titleElement = titleRef.current;
@@ -4376,32 +4285,32 @@ var EventList = ({
4376
4285
  const labels = useLabels8();
4377
4286
  const { disabledVenues } = useAppConfig2();
4378
4287
  const resolvedTabs = useEventListTabs();
4379
- const visibleVenues = useMemo7(
4288
+ const visibleVenues = useMemo8(
4380
4289
  () => disabledVenues.length === 0 ? void 0 : VENUES.filter(
4381
4290
  (v) => !disabledVenues.includes(v)
4382
4291
  ),
4383
4292
  [disabledVenues]
4384
4293
  );
4385
- const [activeTabValue, setActiveTabValue] = useState7(
4294
+ const [activeTabValue, setActiveTabValue] = useState6(
4386
4295
  (_b = initialVenueTab != null ? initialVenueTab : (_a = resolvedTabs[0]) == null ? void 0 : _a.value) != null ? _b : "matched"
4387
4296
  );
4388
4297
  const { headerRef, titleRef, shouldUseSelectOverflow } = useEventListTabsHeaderOverflow(resolvedTabs);
4389
- const activeTab = useMemo7(() => {
4298
+ const activeTab = useMemo8(() => {
4390
4299
  return resolvedTabs.find((tab) => tab.value === activeTabValue);
4391
4300
  }, [activeTabValue, resolvedTabs]);
4392
- const venues = useMemo7(() => {
4301
+ const venues = useMemo8(() => {
4393
4302
  return resolveTabVenus(activeTab, visibleVenues);
4394
4303
  }, [activeTab, visibleVenues]);
4395
- const matchStatus = useMemo7(() => {
4304
+ const matchStatus = useMemo8(() => {
4396
4305
  return activeTabValue === "matched" ? activeTab == null ? void 0 : activeTab.matchStatus : void 0;
4397
4306
  }, [activeTabValue, activeTab]);
4398
- const resolvedMaxVisibleItems = useMemo7(() => {
4307
+ const resolvedMaxVisibleItems = useMemo8(() => {
4399
4308
  if (!Number.isFinite(maxVisibleItems)) return void 0;
4400
4309
  return Math.max(1, Math.floor(maxVisibleItems));
4401
4310
  }, [maxVisibleItems]);
4402
4311
  const requestLimit = resolvedMaxVisibleItems != null ? resolvedMaxVisibleItems : limit;
4403
4312
  const shouldPaginate = resolvedMaxVisibleItems == null;
4404
- const endDateFrom = useMemo7(() => {
4313
+ const endDateFrom = useMemo8(() => {
4405
4314
  if (search) return void 0;
4406
4315
  const BUCKET_MINUTES = 5;
4407
4316
  const bucket = /* @__PURE__ */ new Date();
@@ -4434,21 +4343,21 @@ var EventList = ({
4434
4343
  } : {}), {
4435
4344
  initialPages: initialLoadedPageCount
4436
4345
  }));
4437
- useEffect7(() => {
4346
+ useEffect6(() => {
4438
4347
  if (stateRef) {
4439
4348
  stateRef.current = { venueTab: activeTabValue, loadedPageCount };
4440
4349
  }
4441
4350
  }, [stateRef, activeTabValue, loadedPageCount]);
4442
- const filteredEvents = useMemo7(() => {
4351
+ const filteredEvents = useMemo8(() => {
4443
4352
  return filterEventsByTabValue(events, activeTabValue);
4444
4353
  }, [events, activeTabValue]);
4445
- const groupedEvents = useMemo7(() => {
4354
+ const groupedEvents = useMemo8(() => {
4446
4355
  return splitEventsByLifecycle(filteredEvents);
4447
4356
  }, [filteredEvents]);
4448
- const orderedEvents = useMemo7(() => {
4357
+ const orderedEvents = useMemo8(() => {
4449
4358
  return groupedEvents.open;
4450
4359
  }, [groupedEvents.open]);
4451
- const tileEvents = useMemo7(() => {
4360
+ const tileEvents = useMemo8(() => {
4452
4361
  const normalizedEvents = orderedEvents.map((event) => mapEventToEventListItemEvent(event)).filter((event) => event != null);
4453
4362
  if (resolvedMaxVisibleItems == null) return normalizedEvents;
4454
4363
  return normalizedEvents.slice(0, resolvedMaxVisibleItems);
@@ -4456,8 +4365,8 @@ var EventList = ({
4456
4365
  const shouldRenderLoadingState = isLoading && !isPlaceholderData && tileEvents.length === 0;
4457
4366
  const shouldRenderEmptyState = !isLoading && !isError && tileEvents.length === 0;
4458
4367
  const shouldRenderPaginationLoadingItems = shouldPaginate && hasNextPage;
4459
- const loadMoreRef = useRef8(null);
4460
- useEffect7(() => {
4368
+ const loadMoreRef = useRef7(null);
4369
+ useEffect6(() => {
4461
4370
  if (!shouldPaginate) return;
4462
4371
  if (!hasNextPage) return;
4463
4372
  if (typeof IntersectionObserver === "undefined") return;