@agg-market/ui 7.0.0 → 9.0.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 (75) hide show
  1. package/dist/{chunk-MUB7NYWZ.mjs → chunk-3G7C6WEC.mjs} +3453 -990
  2. package/dist/{chunk-KQKLLL4D.mjs → chunk-3U4VHAP6.mjs} +8 -11
  3. package/dist/{chunk-6I474QXG.mjs → chunk-6CRY27SQ.mjs} +92 -65
  4. package/dist/{chunk-L5U7RGJV.mjs → chunk-HJ4UPYM7.mjs} +22 -23
  5. package/dist/{chunk-AVHMI47G.mjs → chunk-N7U7QCSB.mjs} +5 -6
  6. package/dist/events.js +2904 -2756
  7. package/dist/events.mjs +2 -4
  8. package/dist/index.js +1594 -1438
  9. package/dist/index.mjs +26 -32
  10. package/dist/modals.js +821 -687
  11. package/dist/modals.mjs +2 -3
  12. package/dist/pages.js +2145 -1993
  13. package/dist/pages.mjs +4 -7
  14. package/dist/primitives.js +417 -293
  15. package/dist/primitives.mjs +22 -28
  16. package/dist/styles.css +1 -1
  17. package/dist/tailwind.css +1 -1
  18. package/dist/trading.js +564 -451
  19. package/dist/trading.mjs +2 -4
  20. package/dist/types/events/item/event-list-item.types.d.mts +5 -2
  21. package/dist/types/events/item/event-list-item.types.d.ts +5 -2
  22. package/dist/types/events/item/event-list-item.utils.d.mts +5 -5
  23. package/dist/types/events/item/event-list-item.utils.d.ts +5 -5
  24. package/dist/types/events/item/index.d.mts +1 -1
  25. package/dist/types/events/item/index.d.ts +1 -1
  26. package/dist/types/events/item-details/event-list-item-details.types.d.mts +4 -3
  27. package/dist/types/events/item-details/event-list-item-details.types.d.ts +4 -3
  28. package/dist/types/events/list/event-list.types.d.mts +4 -4
  29. package/dist/types/events/list/event-list.types.d.ts +4 -4
  30. package/dist/types/events/list/event-list.utils.d.mts +5 -5
  31. package/dist/types/events/list/event-list.utils.d.ts +5 -5
  32. package/dist/types/events/market-details/market-details.types.d.mts +5 -3
  33. package/dist/types/events/market-details/market-details.types.d.ts +5 -3
  34. package/dist/types/events/market-details/market-details.utils.d.mts +16 -5
  35. package/dist/types/events/market-details/market-details.utils.d.ts +16 -5
  36. package/dist/types/onramp/index.d.mts +6 -0
  37. package/dist/types/onramp/index.d.ts +6 -0
  38. package/dist/types/onramp/onramp-modal.constants.d.mts +9 -0
  39. package/dist/types/onramp/onramp-modal.constants.d.ts +9 -0
  40. package/dist/types/onramp/onramp-modal.types.d.mts +64 -0
  41. package/dist/types/onramp/onramp-modal.types.d.ts +64 -0
  42. package/dist/types/onramp/steps/quote-card.d.mts +8 -0
  43. package/dist/types/onramp/steps/quote-card.d.ts +8 -0
  44. package/dist/types/onramp/steps/quote-form.d.mts +12 -0
  45. package/dist/types/onramp/steps/quote-form.d.ts +12 -0
  46. package/dist/types/onramp/steps/quote-selection.d.mts +14 -0
  47. package/dist/types/onramp/steps/quote-selection.d.ts +14 -0
  48. package/dist/types/onramp/steps/widget.d.mts +7 -0
  49. package/dist/types/onramp/steps/widget.d.ts +7 -0
  50. package/dist/types/pages/event-market/event-market.types.d.mts +2 -2
  51. package/dist/types/pages/event-market/event-market.types.d.ts +2 -2
  52. package/dist/types/primitives/chart/index.d.mts +10 -1
  53. package/dist/types/primitives/chart/index.d.ts +10 -1
  54. package/dist/types/primitives/icon/index.d.mts +2 -1
  55. package/dist/types/primitives/icon/index.d.ts +2 -1
  56. package/dist/types/primitives/icon/registry.d.mts +4 -0
  57. package/dist/types/primitives/icon/registry.d.ts +4 -0
  58. package/dist/types/primitives/icon/svg/image.d.mts +5 -0
  59. package/dist/types/primitives/icon/svg/image.d.ts +5 -0
  60. package/dist/types/primitives/index.d.mts +1 -0
  61. package/dist/types/primitives/index.d.ts +1 -0
  62. package/dist/types/primitives/remote-image/index.d.mts +6 -0
  63. package/dist/types/primitives/remote-image/index.d.ts +6 -0
  64. package/dist/types/primitives/remote-image/remote-image.constants.d.mts +4 -0
  65. package/dist/types/primitives/remote-image/remote-image.constants.d.ts +4 -0
  66. package/dist/types/primitives/remote-image/remote-image.types.d.mts +16 -0
  67. package/dist/types/primitives/remote-image/remote-image.types.d.ts +16 -0
  68. package/dist/types/trading/types.d.mts +2 -2
  69. package/dist/types/trading/types.d.ts +2 -2
  70. package/package.json +1 -1
  71. package/dist/chunk-EEQPPN7N.mjs +0 -214
  72. package/dist/chunk-EERL6BZF.mjs +0 -997
  73. package/dist/chunk-OAJBTVZT.mjs +0 -119
  74. package/dist/chunk-OVQVAUAI.mjs +0 -420
  75. package/dist/chunk-ZYUJ7YEJ.mjs +0 -645
@@ -1,22 +1,19 @@
1
1
  import {
2
- InlineAlert
3
- } from "./chunk-OAJBTVZT.mjs";
4
- import {
2
+ Button,
5
3
  Card,
4
+ Icon,
5
+ InlineAlert,
6
+ RemoteImage,
6
7
  Skeleton,
7
8
  Tabs,
8
- skeletonViews
9
- } from "./chunk-EERL6BZF.mjs";
10
- import {
11
- Button,
12
- Icon,
13
9
  VenueLogo,
14
10
  __spreadProps,
15
11
  __spreadValues,
16
12
  cn,
17
13
  formatUsd,
18
- getMotionClassName
19
- } from "./chunk-MUB7NYWZ.mjs";
14
+ getMotionClassName,
15
+ skeletonViews
16
+ } from "./chunk-3G7C6WEC.mjs";
20
17
 
21
18
  // src/trading/utils.ts
22
19
  import { resolveAggUiLabels } from "@agg-market/hooks";
@@ -209,7 +206,7 @@ var PlaceOrder = ({
209
206
  /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-5", children: [
210
207
  /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-3", children: [
211
208
  marketImageUrl ? /* @__PURE__ */ jsx(
212
- "img",
209
+ RemoteImage,
213
210
  {
214
211
  src: marketImageUrl,
215
212
  alt: "",
@@ -1,44 +1,41 @@
1
1
  import {
2
2
  Badge,
3
- LineChart,
4
- StateMessage,
5
- SwitchButton,
6
- Typography
7
- } from "./chunk-ZYUJ7YEJ.mjs";
8
- import {
3
+ Button,
9
4
  Card,
5
+ Icon,
6
+ LineChart,
10
7
  MarketDetailsOderbookSkeleton,
8
+ RemoteImage,
11
9
  Skeleton,
10
+ StateMessage,
11
+ SwitchButton,
12
12
  Tabs,
13
+ Typography,
14
+ VenueLogo,
15
+ __objRest,
16
+ __spreadProps,
17
+ __spreadValues,
13
18
  baseCardClassName,
19
+ cn,
14
20
  detailsBaseCardClassName,
15
21
  eventListItemDetailsTimeRanges,
16
22
  fallbackLineColors,
17
23
  getMarketDetailsTabs,
24
+ getMotionClassName,
18
25
  lineColorByVenue,
19
26
  marketDetailsBaseCardClassName,
20
27
  marketDetailsDefaultIsOpened,
21
- orderBookRowLimitDefault
22
- } from "./chunk-EERL6BZF.mjs";
23
- import {
24
- Button,
25
- Icon,
26
- VenueLogo,
27
- __objRest,
28
- __spreadProps,
29
- __spreadValues,
30
- cn,
31
- getMotionClassName,
28
+ orderBookRowLimitDefault,
32
29
  toDate
33
- } from "./chunk-MUB7NYWZ.mjs";
30
+ } from "./chunk-3G7C6WEC.mjs";
34
31
 
35
32
  // src/events/item/index.tsx
36
33
  import dayjs from "dayjs";
37
34
  import { useMemo } from "react";
38
35
  import {
39
- useEvent,
40
36
  useLabels,
41
- useSdkUiConfig
37
+ useSdkUiConfig,
38
+ useVenueEvent
42
39
  } from "@agg-market/hooks";
43
40
 
44
41
  // src/shared/query-error.ts
@@ -56,10 +53,7 @@ var isErrorWithStatus = (error, status) => {
56
53
  var resolveEventListItemEvent = (fetchedEvent) => {
57
54
  if (!fetchedEvent)
58
55
  return void 0;
59
- const mergedVenueMarkets = fetchedEvent.markets.flatMap(
60
- (market) => market.venueMarkets
61
- );
62
- if (mergedVenueMarkets.length === 0)
56
+ if (!fetchedEvent.venueMarkets || fetchedEvent.venueMarkets.length === 0)
63
57
  return void 0;
64
58
  return fetchedEvent;
65
59
  };
@@ -256,8 +250,8 @@ var EventListItemContent = ({
256
250
  const config = useSdkUiConfig();
257
251
  const labels = useLabels();
258
252
  const allVenueMarkets = useMemo(() => {
259
- return event.markets.flatMap((market) => market.venueMarkets);
260
- }, [event.markets]);
253
+ return event.venueMarkets;
254
+ }, [event.venueMarkets]);
261
255
  const primaryVenueMarket = useMemo(() => {
262
256
  return selectPrimaryVenueMarket(allVenueMarkets);
263
257
  }, [allVenueMarkets]);
@@ -313,7 +307,7 @@ var EventListItemContent = ({
313
307
  children: [
314
308
  /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-3", classNames == null ? void 0 : classNames.header), children: [
315
309
  resolvedImage ? /* @__PURE__ */ jsx(
316
- "img",
310
+ RemoteImage,
317
311
  {
318
312
  src: resolvedImage,
319
313
  alt: "",
@@ -439,7 +433,8 @@ var EventListItemByEventId = (_a) => {
439
433
  error,
440
434
  isError,
441
435
  isLoading
442
- } = useEvent(eventId, {
436
+ } = useVenueEvent({
437
+ eventId: eventId != null ? eventId : "",
443
438
  enabled: !!eventId
444
439
  });
445
440
  const resolvedEvent = useMemo(() => {
@@ -476,7 +471,7 @@ EventListItem.displayName = "EventListItem";
476
471
 
477
472
  // src/events/item-details/index.tsx
478
473
  import { useEffect, useMemo as useMemo3, useState } from "react";
479
- import { useEvent as useEvent2, useLabels as useLabels3, usePriceHistory, useSdkUiConfig as useSdkUiConfig2 } from "@agg-market/hooks";
474
+ import { useLabels as useLabels3, usePriceHistory, useSdkUiConfig as useSdkUiConfig2, useVenueEvent as useVenueEvent2 } from "@agg-market/hooks";
480
475
 
481
476
  // src/primitives/chart/chart-type-switch.tsx
482
477
  import { useLabels as useLabels2 } from "@agg-market/hooks";
@@ -1098,13 +1093,12 @@ var EventListItemDetailsContent = ({
1098
1093
  ariaLabel,
1099
1094
  defaultTimeRange
1100
1095
  }) => {
1101
- var _a, _b;
1102
1096
  const config = useSdkUiConfig2();
1103
1097
  const labels = useLabels3();
1104
1098
  const venueMarkets = useMemo3(() => {
1105
- var _a2, _b2, _c;
1106
- return (_c = (_b2 = (_a2 = event.markets) == null ? void 0 : _a2[0]) == null ? void 0 : _b2.venueMarkets) != null ? _c : [];
1107
- }, [event.markets]);
1099
+ var _a;
1100
+ return (_a = event.venueMarkets) != null ? _a : [];
1101
+ }, [event.venueMarkets]);
1108
1102
  const primaryVenueMarket = useMemo3(() => {
1109
1103
  return selectPrimaryVenueMarket(venueMarkets);
1110
1104
  }, [venueMarkets]);
@@ -1142,9 +1136,9 @@ var EventListItemDetailsContent = ({
1142
1136
  if (outcomeLabels.length === 0)
1143
1137
  return void 0;
1144
1138
  return [...outcomeLabels].sort((left, right) => {
1145
- var _a2, _b2;
1146
- const leftProbability = (_a2 = probabilityByLabel.get(left)) != null ? _a2 : -1;
1147
- const rightProbability = (_b2 = probabilityByLabel.get(right)) != null ? _b2 : -1;
1139
+ var _a, _b;
1140
+ const leftProbability = (_a = probabilityByLabel.get(left)) != null ? _a : -1;
1141
+ const rightProbability = (_b = probabilityByLabel.get(right)) != null ? _b : -1;
1148
1142
  return rightProbability - leftProbability;
1149
1143
  })[0];
1150
1144
  }, [outcomeLabels, probabilityByLabel]);
@@ -1160,18 +1154,18 @@ var EventListItemDetailsContent = ({
1160
1154
  setSelectedOutcomeLabel(fallbackOutcomeLabel);
1161
1155
  }, [isDateOutcomeMarket, mainOutcomeLabel, outcomeLabels, selectedOutcomeLabel]);
1162
1156
  const switchLabels = useMemo3(() => {
1163
- var _a2, _b2;
1157
+ var _a, _b;
1164
1158
  if (isDateOutcomeMarket) {
1165
1159
  return [labels.eventItemDetails.yes, labels.eventItemDetails.no];
1166
1160
  }
1167
1161
  const sortedOutcomeLabels = [...outcomeLabels].sort((left, right) => {
1168
- var _a3, _b3;
1169
- const leftProbability = (_a3 = probabilityByLabel.get(left)) != null ? _a3 : -1;
1170
- const rightProbability = (_b3 = probabilityByLabel.get(right)) != null ? _b3 : -1;
1162
+ var _a2, _b2;
1163
+ const leftProbability = (_a2 = probabilityByLabel.get(left)) != null ? _a2 : -1;
1164
+ const rightProbability = (_b2 = probabilityByLabel.get(right)) != null ? _b2 : -1;
1171
1165
  return rightProbability - leftProbability;
1172
1166
  });
1173
- const firstLabel = (_a2 = sortedOutcomeLabels[0]) != null ? _a2 : labels.eventItemDetails.yes;
1174
- const secondLabel = (_b2 = sortedOutcomeLabels.find((label) => label !== firstLabel)) != null ? _b2 : firstLabel;
1167
+ const firstLabel = (_a = sortedOutcomeLabels[0]) != null ? _a : labels.eventItemDetails.yes;
1168
+ const secondLabel = (_b = sortedOutcomeLabels.find((label) => label !== firstLabel)) != null ? _b : firstLabel;
1175
1169
  return [firstLabel, secondLabel];
1176
1170
  }, [
1177
1171
  isDateOutcomeMarket,
@@ -1181,8 +1175,8 @@ var EventListItemDetailsContent = ({
1181
1175
  probabilityByLabel
1182
1176
  ]);
1183
1177
  const volumeLabel = useMemo3(() => {
1184
- var _a2;
1185
- const resolvedVolume = typeof event.volume === "number" ? event.volume : (_a2 = primaryVenueMarket == null ? void 0 : primaryVenueMarket.volume) != null ? _a2 : void 0;
1178
+ var _a;
1179
+ const resolvedVolume = typeof event.volume === "number" ? event.volume : (_a = primaryVenueMarket == null ? void 0 : primaryVenueMarket.volume) != null ? _a : void 0;
1186
1180
  if (typeof resolvedVolume !== "number")
1187
1181
  return "";
1188
1182
  return `${config.formatCompactCurrency(resolvedVolume)} ${labels.eventItemDetails.volumeSuffix}`;
@@ -1206,7 +1200,7 @@ var EventListItemDetailsContent = ({
1206
1200
  ),
1207
1201
  children: [
1208
1202
  resolvedImage ? /* @__PURE__ */ jsx3(
1209
- "img",
1203
+ RemoteImage,
1210
1204
  {
1211
1205
  src: resolvedImage,
1212
1206
  alt: "",
@@ -1280,7 +1274,7 @@ var EventListItemDetailsContent = ({
1280
1274
  EventListItemDetailsGraphSection,
1281
1275
  {
1282
1276
  venueMarkets,
1283
- canonicalMarketId: (_b = (_a = event.markets) == null ? void 0 : _a[0]) == null ? void 0 : _b.id,
1277
+ canonicalMarketId: event.id,
1284
1278
  selectedOutcomeLabel,
1285
1279
  onSelectedOutcomeLabelChange: setSelectedOutcomeLabel,
1286
1280
  switchLabels,
@@ -1335,7 +1329,8 @@ var EventListItemDetailsByEventId = (_a) => {
1335
1329
  error,
1336
1330
  isError,
1337
1331
  isLoading
1338
- } = useEvent2(eventId, {
1332
+ } = useVenueEvent2({
1333
+ eventId: eventId != null ? eventId : "",
1339
1334
  enabled: !!eventId
1340
1335
  });
1341
1336
  const resolvedEvent = useMemo3(() => {
@@ -1416,11 +1411,11 @@ EventListItemDetails.displayName = "EventListItemDetails";
1416
1411
  // src/events/market-details/index.tsx
1417
1412
  import { useEffect as useEffect2, useId, useMemo as useMemo4, useState as useState2 } from "react";
1418
1413
  import {
1419
- useEvent as useEvent3,
1420
1414
  useLabels as useLabels4,
1421
1415
  useOrderBook,
1422
1416
  usePriceHistory as usePriceHistory2,
1423
- useSdkUiConfig as useSdkUiConfig3
1417
+ useSdkUiConfig as useSdkUiConfig3,
1418
+ useVenueEvent as useVenueEvent3
1424
1419
  } from "@agg-market/hooks";
1425
1420
 
1426
1421
  // src/events/market-details/market-details.utils.ts
@@ -1453,11 +1448,41 @@ var resolveInitialTab = (defaultTab) => {
1453
1448
  return "order-book";
1454
1449
  };
1455
1450
  var resolveMarket = (event, marketId) => {
1456
- if (!event.markets.length)
1451
+ var _a, _b, _c, _d, _e;
1452
+ if (!event.venueMarkets || event.venueMarkets.length === 0)
1453
+ return void 0;
1454
+ if (!marketId) {
1455
+ return {
1456
+ id: event.id,
1457
+ venueMarkets: event.venueMarkets,
1458
+ volume: event.volume,
1459
+ status: event.status,
1460
+ startDate: event.startDate,
1461
+ endDate: event.endDate,
1462
+ creationDate: event.creationDate,
1463
+ question: event.title
1464
+ };
1465
+ }
1466
+ const venueMarkets = event.venueMarkets;
1467
+ const matchedVenueMarket = venueMarkets.find((vm) => vm.id === marketId);
1468
+ if (!matchedVenueMarket)
1457
1469
  return void 0;
1458
- if (!marketId)
1459
- return event.markets[0];
1460
- return event.markets.find((market) => market.id === marketId);
1470
+ const siblingVenueMarkets = venueMarkets.filter(
1471
+ (vm) => vm.question === matchedVenueMarket.question
1472
+ );
1473
+ const totalVolume = siblingVenueMarkets.reduce((sum, vm) => {
1474
+ return sum + (typeof vm.volume === "number" ? vm.volume : 0);
1475
+ }, 0);
1476
+ return {
1477
+ id: matchedVenueMarket.id,
1478
+ venueMarkets: siblingVenueMarkets,
1479
+ volume: totalVolume || matchedVenueMarket.volume,
1480
+ status: (_a = matchedVenueMarket.status) != null ? _a : event.status,
1481
+ startDate: (_b = matchedVenueMarket.startDate) != null ? _b : event.startDate,
1482
+ endDate: (_c = matchedVenueMarket.endDate) != null ? _c : event.endDate,
1483
+ creationDate: (_d = matchedVenueMarket.creationDate) != null ? _d : event.creationDate,
1484
+ question: (_e = matchedVenueMarket.question) != null ? _e : event.title
1485
+ };
1461
1486
  };
1462
1487
  var resolveDisplayOutcomeLabels = (labels) => {
1463
1488
  if (!hasBinaryLabels(labels))
@@ -1790,7 +1815,8 @@ var MarketDetailsContent = ({
1790
1815
  orderBookDepth = orderBookRowLimitDefault,
1791
1816
  ariaLabel,
1792
1817
  classNames,
1793
- otherContent
1818
+ otherContent,
1819
+ liveUpdate = false
1794
1820
  }) => {
1795
1821
  const config = useSdkUiConfig3();
1796
1822
  const labels = useLabels4();
@@ -1893,9 +1919,9 @@ var MarketDetailsContent = ({
1893
1919
  return selectedOutcomesByVenue.map(({ market, outcome }) => ({
1894
1920
  market,
1895
1921
  outcome,
1896
- liveUpdate: true
1922
+ liveUpdate
1897
1923
  }));
1898
- }, [selectedOutcomesByVenue]);
1924
+ }, [selectedOutcomesByVenue, liveUpdate]);
1899
1925
  const {
1900
1926
  data: orderBookData,
1901
1927
  isLoading: isOrderBookLoading,
@@ -1903,7 +1929,8 @@ var MarketDetailsContent = ({
1903
1929
  results: orderBookResults
1904
1930
  } = useOrderBook({
1905
1931
  orderbooks: orderBookInputs,
1906
- enabled: isOpened && selectedTab === "order-book" && orderBookInputs.length > 0
1932
+ enabled: isOpened && selectedTab === "order-book" && orderBookInputs.length > 0,
1933
+ canonicalMarketId: liveUpdate ? canonicalMarketIdForHistory : void 0
1907
1934
  });
1908
1935
  const askRows = useMemo4(() => {
1909
1936
  return resolveOrderBookRows({
@@ -1994,7 +2021,7 @@ var MarketDetailsContent = ({
1994
2021
  return [];
1995
2022
  return resolveOtherTabRows(model.market, labels);
1996
2023
  }, [labels, model]);
1997
- const isOrderBookNotFound = isErrorWithStatus(orderBookError, 404);
2024
+ const isOrderBookNotFound = orderBookError && typeof orderBookError === "object" && "status" in orderBookError && orderBookError.status === 404;
1998
2025
  const hasOrderBookError = !!orderBookError && !isOrderBookNotFound;
1999
2026
  const hasNoOrderBook = isOrderBookNotFound || !isOrderBookLoading && !hasOrderBookError && (orderBookInputs.length === 0 || askRows.length === 0 && bidRows.length === 0);
2000
2027
  const handleOutcomeKeyDown = (eventToHandle) => {
@@ -2076,7 +2103,7 @@ var MarketDetailsContent = ({
2076
2103
  children: [
2077
2104
  /* @__PURE__ */ jsxs3("div", { className: "flex min-w-52 items-center gap-3 md:gap-4", children: [
2078
2105
  model.image ? /* @__PURE__ */ jsx4(
2079
- "img",
2106
+ RemoteImage,
2080
2107
  {
2081
2108
  src: model.image,
2082
2109
  alt: "",
@@ -2358,7 +2385,7 @@ var MarketDetailsContent = ({
2358
2385
  );
2359
2386
  };
2360
2387
  var MarketDetails = (props) => {
2361
- var _a;
2388
+ var _a, _b;
2362
2389
  const [uncontrolledIsOpened, setUncontrolledIsOpened] = useState2(
2363
2390
  (_a = props.defaultIsOpened) != null ? _a : marketDetailsDefaultIsOpened
2364
2391
  );
@@ -2380,7 +2407,8 @@ var MarketDetails = (props) => {
2380
2407
  event: fetchedEvent,
2381
2408
  error: eventError,
2382
2409
  isLoading: isFetchingEvent
2383
- } = useEvent3(hasEventProp ? void 0 : props.eventId, {
2410
+ } = useVenueEvent3({
2411
+ eventId: hasEventProp ? "" : (_b = props.eventId) != null ? _b : "",
2384
2412
  enabled: !props.isLoading && !hasEventProp && !!props.eventId
2385
2413
  });
2386
2414
  if (props.isLoading) {
@@ -2432,7 +2460,7 @@ MarketDetails.displayName = "MarketDetails";
2432
2460
 
2433
2461
  // src/events/list/index.tsx
2434
2462
  import { useCallback, useEffect as useEffect3, useMemo as useMemo5, useRef, useState as useState3 } from "react";
2435
- import { useEvents, useLabels as useLabels5 } from "@agg-market/hooks";
2463
+ import { useVenueEvents, useLabels as useLabels5 } from "@agg-market/hooks";
2436
2464
 
2437
2465
  // src/events/list/event-list.constants.ts
2438
2466
  var POLYMARKET_VENUE = "polymarket";
@@ -2463,8 +2491,7 @@ var getDefaultEventListTabs = (labels) => {
2463
2491
 
2464
2492
  // src/events/list/event-list.utils.ts
2465
2493
  var mapEventToEventListItemEvent = (event) => {
2466
- const mergedVenueMarkets = event.markets.flatMap((m) => m.venueMarkets);
2467
- if (mergedVenueMarkets.length === 0)
2494
+ if (!event.venueMarkets || event.venueMarkets.length === 0)
2468
2495
  return null;
2469
2496
  return event;
2470
2497
  };
@@ -2556,7 +2583,7 @@ var EventList = ({
2556
2583
  }, [maxVisibleItems]);
2557
2584
  const requestLimit = resolvedMaxVisibleItems != null ? resolvedMaxVisibleItems : limit;
2558
2585
  const shouldPaginate = resolvedMaxVisibleItems == null;
2559
- const { events, isLoading, isError, fetchNextPage, hasNextPage, isFetchingNextPage } = useEvents({
2586
+ const { events, isLoading, isError, fetchNextPage, hasNextPage, isFetchingNextPage } = useVenueEvents({
2560
2587
  venues,
2561
2588
  search,
2562
2589
  categoryIds,
@@ -3,27 +3,24 @@ import {
3
3
  EventListItemDetails,
4
4
  MarketDetails,
5
5
  isErrorWithStatus
6
- } from "./chunk-6I474QXG.mjs";
7
- import {
8
- StateMessage,
9
- Typography
10
- } from "./chunk-ZYUJ7YEJ.mjs";
6
+ } from "./chunk-6CRY27SQ.mjs";
11
7
  import {
12
8
  PlaceOrder,
13
9
  Settlement
14
- } from "./chunk-KQKLLL4D.mjs";
15
- import {
16
- Card,
17
- Tabs
18
- } from "./chunk-EERL6BZF.mjs";
10
+ } from "./chunk-3U4VHAP6.mjs";
19
11
  import {
20
12
  Button,
13
+ Card,
21
14
  Icon,
15
+ RemoteImage,
16
+ StateMessage,
17
+ Tabs,
18
+ Typography,
22
19
  VenueLogo,
23
20
  __spreadProps,
24
21
  __spreadValues,
25
22
  cn
26
- } from "./chunk-MUB7NYWZ.mjs";
23
+ } from "./chunk-3G7C6WEC.mjs";
27
24
 
28
25
  // src/pages/home/index.tsx
29
26
  import { useEffect, useMemo, useState } from "react";
@@ -291,7 +288,7 @@ HomePage.displayName = "HomePage";
291
288
 
292
289
  // src/pages/event-market/index.tsx
293
290
  import { useEffect as useEffect2, useMemo as useMemo2, useState as useState2 } from "react";
294
- import { useEvent, useLabels as useLabels2 } from "@agg-market/hooks";
291
+ import { useVenueEvent, useLabels as useLabels2 } from "@agg-market/hooks";
295
292
  import dayjs from "dayjs";
296
293
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
297
294
  var getMarketDateValue = (market, fallbackIndex) => {
@@ -307,29 +304,29 @@ var getMarketDateValue = (market, fallbackIndex) => {
307
304
  };
308
305
  var resolveHeroMarketId = (event, heroMarketId) => {
309
306
  var _a, _b;
310
- if (!((_a = event == null ? void 0 : event.markets) == null ? void 0 : _a.length))
307
+ if (!((_a = event == null ? void 0 : event.venueMarkets) == null ? void 0 : _a.length))
311
308
  return void 0;
312
309
  if (heroMarketId) {
313
- const matchingHeroMarket = event.markets.find(
310
+ const matchingHeroMarket = event.venueMarkets.find(
314
311
  (market) => market.id === heroMarketId
315
312
  );
316
313
  if (matchingHeroMarket)
317
314
  return matchingHeroMarket.id;
318
315
  }
319
- return (_b = event.markets[0]) == null ? void 0 : _b.id;
316
+ return (_b = event.venueMarkets[0]) == null ? void 0 : _b.id;
320
317
  };
321
318
  var buildHeroEvent = (event, heroMarketId) => {
322
319
  if (!heroMarketId)
323
320
  return void 0;
324
- const heroMarket = event.markets.find((market) => market.id === heroMarketId);
321
+ const heroMarket = event.venueMarkets.find((market) => market.id === heroMarketId);
325
322
  if (!heroMarket)
326
323
  return void 0;
327
324
  return __spreadProps(__spreadValues({}, event), {
328
- markets: [heroMarket]
325
+ venueMarkets: [heroMarket]
329
326
  });
330
327
  };
331
328
  var resolveDetailedMarkets = (event, heroMarketId) => {
332
- return event.markets.filter((market) => market.id !== heroMarketId).map((market, index) => ({
329
+ return event.venueMarkets.filter((market) => market.id !== heroMarketId).map((market, index) => ({
333
330
  market,
334
331
  index
335
332
  })).sort(
@@ -487,7 +484,7 @@ var EventMarketPageContent = ({
487
484
  }
488
485
  onExpandedMarketChange == null ? void 0 : onExpandedMarketChange(nextExpandedMarketId);
489
486
  };
490
- if (!heroEvent || !event.markets.length) {
487
+ if (!heroEvent || !event.venueMarkets.length) {
491
488
  return /* @__PURE__ */ jsx2(EventMarketPageUnavailableState, { ariaLabel });
492
489
  }
493
490
  return /* @__PURE__ */ jsx2("section", { className: cn("w-full", classNames == null ? void 0 : classNames.root), "aria-label": ariaLabel != null ? ariaLabel : event.title, children: /* @__PURE__ */ jsxs2(
@@ -535,12 +532,14 @@ var EventMarketPageContent = ({
535
532
  ) });
536
533
  };
537
534
  var EventMarketPage = (props) => {
535
+ var _a;
538
536
  const hasEventProp = "event" in props && !!props.event;
539
537
  const {
540
538
  event: fetchedEvent,
541
539
  error: eventError,
542
540
  isLoading: isFetchingEvent
543
- } = useEvent(hasEventProp ? void 0 : props.eventId, {
541
+ } = useVenueEvent({
542
+ eventId: hasEventProp ? "" : (_a = props.eventId) != null ? _a : "",
544
543
  enabled: !props.isLoading && !hasEventProp && !!props.eventId
545
544
  });
546
545
  if (props.isLoading) {
@@ -720,7 +719,7 @@ var ActivityRow = ({ activity, onClick }) => {
720
719
  /* @__PURE__ */ jsx5(VenueLogo, { venue: activity.venue, size: "small", className: "shrink-0" }),
721
720
  /* @__PURE__ */ jsxs5("div", { className: "flex min-w-0 flex-1 items-center gap-4", children: [
722
721
  /* @__PURE__ */ jsx5(
723
- "img",
722
+ RemoteImage,
724
723
  {
725
724
  src: activity.thumbnailSrc,
726
725
  alt: "",
@@ -832,7 +831,7 @@ var PositionRow = ({ position, onClick }) => {
832
831
  /* @__PURE__ */ jsx7(VenueLogo, { venue: position.venue, size: "small", className: "shrink-0" }),
833
832
  /* @__PURE__ */ jsxs7("div", { className: "flex min-w-0 flex-1 items-center gap-4", children: [
834
833
  /* @__PURE__ */ jsx7(
835
- "img",
834
+ RemoteImage,
836
835
  {
837
836
  src: position.thumbnailSrc,
838
837
  alt: "",
@@ -1059,7 +1058,7 @@ var UserInfoCard = ({
1059
1058
  ),
1060
1059
  children: /* @__PURE__ */ jsxs10("div", { className: "flex w-full items-start gap-5", children: [
1061
1060
  /* @__PURE__ */ jsx10("div", { className: "shrink-0", children: user.avatarUrl ? /* @__PURE__ */ jsx10(
1062
- "img",
1061
+ RemoteImage,
1063
1062
  {
1064
1063
  src: user.avatarUrl,
1065
1064
  alt: user.username,
@@ -1,6 +1,3 @@
1
- import {
2
- Modal
3
- } from "./chunk-EEQPPN7N.mjs";
4
1
  import {
5
2
  BankIcon,
6
3
  BestPricesIcon,
@@ -16,8 +13,10 @@ import {
16
13
  ExternalLinkIcon,
17
14
  Icon,
18
15
  LinkAccountsIcon,
16
+ Modal,
19
17
  PlaySquareIcon,
20
18
  ProfileIcon,
19
+ RemoteImage,
21
20
  Select,
22
21
  StayInControlIcon,
23
22
  VenueLogo,
@@ -29,7 +28,7 @@ import {
29
28
  formatAmountDisplay,
30
29
  formatCompactUsd,
31
30
  venueLogoLabels
32
- } from "./chunk-MUB7NYWZ.mjs";
31
+ } from "./chunk-3G7C6WEC.mjs";
33
32
 
34
33
  // src/deposit/index.tsx
35
34
  import { useState as useState3 } from "react";
@@ -1275,7 +1274,7 @@ var ProfileSetupStep = ({ onContinue }) => {
1275
1274
  ),
1276
1275
  "aria-label": labels.onboarding.profileSetup.uploadProfilePictureAria,
1277
1276
  children: avatarPreview ? /* @__PURE__ */ jsx13(
1278
- "img",
1277
+ RemoteImage,
1279
1278
  {
1280
1279
  src: avatarPreview,
1281
1280
  alt: labels.onboarding.profileSetup.profilePreviewAlt,
@@ -2000,7 +1999,7 @@ var AboutTab = ({
2000
1999
  ),
2001
2000
  "aria-label": labels.onboarding.profileSetup.uploadProfilePictureAria,
2002
2001
  children: resolvedPreview ? /* @__PURE__ */ jsx18(
2003
- "img",
2002
+ RemoteImage,
2004
2003
  {
2005
2004
  src: resolvedPreview,
2006
2005
  alt: labels.onboarding.profileSetup.profilePreviewAlt,