@agg-build/ui 2.1.1 → 2.1.3

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/dist/{chunk-XHDGSRG7.mjs → chunk-BW7S2YR3.mjs} +1139 -308
  2. package/dist/{chunk-TERG43WW.mjs → chunk-R2YNZJZ3.mjs} +69 -27
  3. package/dist/{chunk-RPXRTXCY.mjs → chunk-T4YZGAYS.mjs} +22 -1
  4. package/dist/{chunk-IQT4I5B4.mjs → chunk-TAGPAADA.mjs} +2108 -767
  5. package/dist/{chunk-NK57KMYN.mjs → chunk-TBZWRUFB.mjs} +752 -589
  6. package/dist/{chunk-YJO6LMRT.mjs → chunk-VP76G6PN.mjs} +87 -25
  7. package/dist/{chunk-WU2C3C6K.mjs → chunk-XHE2VO3S.mjs} +4 -21
  8. package/dist/events.js +1014 -760
  9. package/dist/events.mjs +5 -3
  10. package/dist/index.js +9937 -7880
  11. package/dist/index.mjs +117 -456
  12. package/dist/modals.js +1 -1
  13. package/dist/modals.mjs +3 -3
  14. package/dist/pages.js +8513 -6380
  15. package/dist/pages.mjs +6 -6
  16. package/dist/primitives.js +85 -25
  17. package/dist/primitives.mjs +1 -1
  18. package/dist/styles.css +1 -1
  19. package/dist/tailwind.css +1 -1
  20. package/dist/trading.js +979 -402
  21. package/dist/trading.mjs +10 -6
  22. package/dist/types/events/item/event-list-item.utils.d.mts +1 -25
  23. package/dist/types/events/item/event-list-item.utils.d.ts +1 -25
  24. package/dist/types/events/item-details/index.d.mts +2 -1
  25. package/dist/types/events/item-details/index.d.ts +2 -1
  26. package/dist/types/events/market-details/market-details-graph-panel.d.mts +39 -0
  27. package/dist/types/events/market-details/market-details-graph-panel.d.ts +39 -0
  28. package/dist/types/events/market-details/market-details-outcome-button.d.mts +2 -1
  29. package/dist/types/events/market-details/market-details-outcome-button.d.ts +2 -1
  30. package/dist/types/events/market-details/market-details.types.d.mts +31 -0
  31. package/dist/types/events/market-details/market-details.types.d.ts +31 -0
  32. package/dist/types/events/market-details/market-details.utils.d.mts +3 -16
  33. package/dist/types/events/market-details/market-details.utils.d.ts +3 -16
  34. package/dist/types/events/shared/format-event-title.d.mts +24 -0
  35. package/dist/types/events/shared/format-event-title.d.ts +24 -0
  36. package/dist/types/events/shared/format-sports-event-time.d.mts +2 -0
  37. package/dist/types/events/shared/format-sports-event-time.d.ts +2 -0
  38. package/dist/types/events/shared/select-best-outcome.d.mts +88 -0
  39. package/dist/types/events/shared/select-best-outcome.d.ts +88 -0
  40. package/dist/types/notifications/agg-notification-events-provider.d.mts +10 -1
  41. package/dist/types/notifications/agg-notification-events-provider.d.ts +10 -1
  42. package/dist/types/pages/event-market/event-market.shared.d.mts +30 -0
  43. package/dist/types/pages/event-market/event-market.shared.d.ts +30 -0
  44. package/dist/types/pages/event-market/event-market.types.d.mts +7 -0
  45. package/dist/types/pages/event-market/event-market.types.d.ts +7 -0
  46. package/dist/types/pages/event-market/sports-event-market-page.d.mts +8 -0
  47. package/dist/types/pages/event-market/sports-event-market-page.d.ts +8 -0
  48. package/dist/types/pages/event-market/sports-event-market.fixtures.d.mts +13 -0
  49. package/dist/types/pages/event-market/sports-event-market.fixtures.d.ts +13 -0
  50. package/dist/types/pages/event-market/sports-event-market.utils.d.mts +156 -0
  51. package/dist/types/pages/event-market/sports-event-market.utils.d.ts +156 -0
  52. package/dist/types/pages/event-market/sports-line-rail.d.mts +17 -0
  53. package/dist/types/pages/event-market/sports-line-rail.d.ts +17 -0
  54. package/dist/types/pages/event-market/sports-market-card.d.mts +22 -0
  55. package/dist/types/pages/event-market/sports-market-card.d.ts +22 -0
  56. package/dist/types/pages/event-market/sports-markets.d.mts +13 -0
  57. package/dist/types/pages/event-market/sports-markets.d.ts +13 -0
  58. package/dist/types/primitives/state-message/index.d.mts +1 -1
  59. package/dist/types/primitives/state-message/index.d.ts +1 -1
  60. package/dist/types/primitives/state-message/state-message.types.d.mts +1 -1
  61. package/dist/types/primitives/state-message/state-message.types.d.ts +1 -1
  62. package/dist/types/trading/index.d.mts +2 -0
  63. package/dist/types/trading/index.d.ts +2 -0
  64. package/dist/types/trading/place-order/index.d.mts +1 -1
  65. package/dist/types/trading/place-order/index.d.ts +1 -1
  66. package/dist/types/trading/place-order/index.place-order.types.d.mts +30 -1
  67. package/dist/types/trading/place-order/index.place-order.types.d.ts +30 -1
  68. package/dist/types/trading/settlement/settlement-text.utils.d.mts +5 -2
  69. package/dist/types/trading/settlement/settlement-text.utils.d.ts +5 -2
  70. package/dist/types/trading/use-claim-winnings.d.mts +84 -0
  71. package/dist/types/trading/use-claim-winnings.d.ts +84 -0
  72. package/dist/types/trading/use-resolved-market-claim.d.mts +26 -0
  73. package/dist/types/trading/use-resolved-market-claim.d.ts +26 -0
  74. package/package.json +3 -3
@@ -6596,7 +6596,63 @@ var SEARCH_DEBOUNCE_MS = 300;
6596
6596
 
6597
6597
  // src/primitives/search/search.utils.ts
6598
6598
  import { VENUES as VENUES2 } from "@agg-build/sdk";
6599
+ import dayjs3 from "dayjs";
6600
+
6601
+ // src/events/shared/format-sports-event-time.ts
6599
6602
  import dayjs2 from "dayjs";
6603
+ import timezone from "dayjs/plugin/timezone";
6604
+ import utc from "dayjs/plugin/utc";
6605
+ dayjs2.extend(utc);
6606
+ dayjs2.extend(timezone);
6607
+ var SPORTS_EVENT_TIMEZONE = "America/New_York";
6608
+ var SPORTS_EVENT_TIME_FORMAT = "MMM D, h:mm A";
6609
+ var formatSportsEventTimeEt = (value) => {
6610
+ const resolvedValue = value.trim();
6611
+ if (!resolvedValue) return null;
6612
+ const parsedValue = dayjs2.utc(resolvedValue);
6613
+ if (!parsedValue.isValid()) return null;
6614
+ return `${parsedValue.tz(SPORTS_EVENT_TIMEZONE).format(SPORTS_EVENT_TIME_FORMAT)} ET`;
6615
+ };
6616
+
6617
+ // src/events/shared/format-event-title.ts
6618
+ var SPORT_CATEGORY_TOKENS = /* @__PURE__ */ new Set(["sport", "sports"]);
6619
+ var normalizeCategoryToken = (value) => {
6620
+ if (typeof value !== "string") return null;
6621
+ const normalizedValue = value.trim().toLowerCase();
6622
+ if (!normalizedValue) return null;
6623
+ return normalizedValue;
6624
+ };
6625
+ var isSportCategoryToken = (value) => {
6626
+ const normalizedValue = normalizeCategoryToken(value);
6627
+ if (!normalizedValue) return false;
6628
+ return SPORT_CATEGORY_TOKENS.has(normalizedValue);
6629
+ };
6630
+ var isSportEvent = (categories, structureType) => {
6631
+ var _a;
6632
+ if (isSportCategoryToken(structureType)) return true;
6633
+ return (_a = categories == null ? void 0 : categories.some((categoryEntry) => {
6634
+ var _a2, _b, _c, _d;
6635
+ return isSportCategoryToken(categoryEntry.id) || isSportCategoryToken((_a2 = categoryEntry.category) == null ? void 0 : _a2.id) || isSportCategoryToken((_b = categoryEntry.category) == null ? void 0 : _b.name) || isSportCategoryToken((_c = categoryEntry.category) == null ? void 0 : _c.displayName) || isSportCategoryToken((_d = categoryEntry.category) == null ? void 0 : _d.parentId);
6636
+ })) != null ? _a : false;
6637
+ };
6638
+ var formatEventTitleWithDateSuffix = ({
6639
+ title: title2,
6640
+ categories,
6641
+ structureType,
6642
+ gameStartTime,
6643
+ endDate
6644
+ }) => {
6645
+ const resolvedTitle = title2.trim();
6646
+ if (!resolvedTitle) return resolvedTitle;
6647
+ if (!isSportEvent(categories, structureType)) return resolvedTitle;
6648
+ const dateSource = gameStartTime != null ? gameStartTime : endDate;
6649
+ if (!dateSource) return resolvedTitle;
6650
+ const formattedDate = formatSportsEventTimeEt(dateSource);
6651
+ if (!formattedDate) return resolvedTitle;
6652
+ const suffix = ` - ${formattedDate}`;
6653
+ if (resolvedTitle.endsWith(suffix)) return resolvedTitle;
6654
+ return `${resolvedTitle}${suffix}`;
6655
+ };
6600
6656
 
6601
6657
  // src/events/item/event-list-item.utils.ts
6602
6658
  import { MAX_PRICE_GAP_PCT, MIN_PRICE_GAP_PCT } from "@agg-build/hooks";
@@ -6873,18 +6929,9 @@ var resolveTileImage = (event, primaryVenueMarket, imageOverride) => {
6873
6929
  var formatCountLabel = (count, singular, plural) => {
6874
6930
  return `${count} ${count === 1 ? singular : plural}`;
6875
6931
  };
6876
- var getVenueSummary = (venueMarkets, options) => {
6932
+ var getVenueSummary = (venueMarkets) => {
6877
6933
  const normalizedVenueMarkets = normalizeVenueMarketCluster(venueMarkets);
6878
- const tradableVenues = options == null ? void 0 : options.tradableVenues;
6879
- const isVenueTradable = (venue) => {
6880
- if (tradableVenues == null) return true;
6881
- return tradableVenues.has(venue);
6882
- };
6883
- const uniqueVenues = Array.from(
6884
- new Set(
6885
- normalizedVenueMarkets.filter((market) => isVenueTradable(market.venue)).map((market) => market.venue)
6886
- )
6887
- );
6934
+ const uniqueVenues = Array.from(new Set(normalizedVenueMarkets.map((market) => market.venue)));
6888
6935
  return {
6889
6936
  marketCount: normalizedVenueMarkets.length,
6890
6937
  venueCount: uniqueVenues.length,
@@ -6909,8 +6956,8 @@ var resolveDisplayVolume = (eventVolume, venueMarkets) => {
6909
6956
 
6910
6957
  // src/primitives/search/search.utils.ts
6911
6958
  var formatSearchContextLabel = (value) => {
6912
- if (!dayjs2(value).isValid()) return value;
6913
- return dayjs2(value).format("MMMM D, YYYY");
6959
+ if (!dayjs3(value).isValid()) return value;
6960
+ return dayjs3(value).format("MMMM D, YYYY");
6914
6961
  };
6915
6962
  var venueLogoNameSet = new Set(VENUES2);
6916
6963
  var toVenueLogoName = (value) => {
@@ -6928,7 +6975,13 @@ var mapVenueEventToSearchResult = (event, labels, formatPercent, formatCompactCu
6928
6975
  if (!visibleOutcome) return null;
6929
6976
  const probability = normalizeProbability(visibleOutcome.outcome.price);
6930
6977
  if (probability == null) return null;
6931
- const resolvedTitle = (_a = event == null ? void 0 : event.title) == null ? void 0 : _a.trim();
6978
+ const resolvedTitle = formatEventTitleWithDateSuffix({
6979
+ title: (_a = event == null ? void 0 : event.title) != null ? _a : "",
6980
+ categories: event.categories,
6981
+ structureType: event.structureType,
6982
+ gameStartTime: event.gameStartTime,
6983
+ endDate: event.endDate
6984
+ });
6932
6985
  if (!resolvedTitle) return null;
6933
6986
  const { marketCount, venueCount } = getVenueSummary(event.venueMarkets);
6934
6987
  const marketSummaryLabel = [
@@ -7191,7 +7244,7 @@ var Search = ({
7191
7244
  validatedResults: nextResults,
7192
7245
  eventsByResultId: nextEventsByResultId
7193
7246
  };
7194
- }, [openEvents, formatCompactCurrency, formatPercent, labels]);
7247
+ }, [formatCompactCurrency, formatPercent, labels, openEvents]);
7195
7248
  const hasSearchValue = trimmedValue.length > 0;
7196
7249
  const shouldRenderDropdown = isFocused && shouldSearchValue && !searchConfig.result && !searchConfig.isShowingAllResults;
7197
7250
  const resolvedIsActive = isFocused;
@@ -8287,7 +8340,7 @@ var Select = ({
8287
8340
  disabled: item.disabled,
8288
8341
  className: cn(
8289
8342
  "agg-select-item",
8290
- "relative flex w-full items-center gap-3 rounded-[6px] px-5 py-3 text-left text-agg-sm leading-agg-5 outline-none",
8343
+ "relative flex w-full items-center gap-3 rounded-[6px] pl-3 pr-5 py-3 text-left text-agg-sm leading-agg-5 outline-none",
8291
8344
  "hover:bg-agg-secondary-hover focus-visible:bg-agg-secondary-hover",
8292
8345
  isSelected ? "bg-agg-primary/10 font-agg-normal text-agg-primary" : "font-agg-normal text-agg-foreground",
8293
8346
  item.disabled && "cursor-not-allowed opacity-60",
@@ -8504,13 +8557,20 @@ var resolveStateMessageHasAction = ({ onAction }) => {
8504
8557
 
8505
8558
  // src/primitives/state-message/index.tsx
8506
8559
  import { jsx as jsx127, jsxs as jsxs120 } from "react/jsx-runtime";
8507
- var StateMessage = ({
8508
- icon,
8509
- title: title2,
8510
- description,
8511
- onAction,
8512
- classNames
8513
- }) => {
8560
+ var StateMessage = (_a) => {
8561
+ var _b = _a, {
8562
+ icon,
8563
+ title: title2,
8564
+ description,
8565
+ onAction,
8566
+ classNames
8567
+ } = _b, rest = __objRest(_b, [
8568
+ "icon",
8569
+ "title",
8570
+ "description",
8571
+ "onAction",
8572
+ "classNames"
8573
+ ]);
8514
8574
  const labels = useLabels15();
8515
8575
  const hasAction = resolveStateMessageHasAction({ onAction });
8516
8576
  const resolvedIcon = cloneElement(icon, {
@@ -8519,7 +8579,7 @@ var StateMessage = ({
8519
8579
  });
8520
8580
  return /* @__PURE__ */ jsx127(
8521
8581
  "div",
8522
- {
8582
+ __spreadProps(__spreadValues({}, rest), {
8523
8583
  className: cn(
8524
8584
  "agg-state-message",
8525
8585
  "flex min-h-[240px] w-full flex-col items-center justify-center px-5 py-10 text-center md:px-10",
@@ -8578,7 +8638,7 @@ var StateMessage = ({
8578
8638
  ]
8579
8639
  }
8580
8640
  )
8581
- }
8641
+ })
8582
8642
  );
8583
8643
  };
8584
8644
  StateMessage.displayName = "StateMessage";
@@ -9628,6 +9688,8 @@ export {
9628
9688
  DEFAULT_VENUE_COLOR,
9629
9689
  fallbackLineColors,
9630
9690
  VenueLogo,
9691
+ formatSportsEventTimeEt,
9692
+ formatEventTitleWithDateSuffix,
9631
9693
  normalizeVenueMarketCluster,
9632
9694
  resolveEventListItemEvent,
9633
9695
  normalizeProbability,
@@ -1,4 +1,7 @@
1
1
  "use client";
2
+ import {
3
+ dispatchAggDepositNotification
4
+ } from "./chunk-T4YZGAYS.mjs";
2
5
  import {
3
6
  BestPricesIcon,
4
7
  BoltIcon,
@@ -38,32 +41,13 @@ import {
38
41
  shortenAddress,
39
42
  useOptionalToast,
40
43
  venueLogoLabels
41
- } from "./chunk-YJO6LMRT.mjs";
44
+ } from "./chunk-VP76G6PN.mjs";
42
45
 
43
46
  // src/deposit/index.tsx
44
47
  import { useAggAuthState, useAggUiConfig, useDepositAddresses, useLabels as useLabels11 } from "@agg-build/hooks";
45
48
  import { SVM_CHAIN_IDS, useDepositFlow } from "@agg-build/hooks/deposit";
46
49
  import { useCallback, useEffect as useEffect3, useMemo, useRef, useState as useState2 } from "react";
47
50
 
48
- // src/notifications/deposit-notification-events.ts
49
- var AGG_DEPOSIT_NOTIFICATION_EVENT = "agg:deposit-notification";
50
- var dispatchAggDepositNotification = (detail) => {
51
- if (typeof window === "undefined") return;
52
- window.dispatchEvent(new CustomEvent(AGG_DEPOSIT_NOTIFICATION_EVENT, { detail }));
53
- };
54
- var subscribeAggDepositNotification = (handler) => {
55
- if (typeof window === "undefined") return () => {
56
- };
57
- const handleDepositNotification = (event) => {
58
- if (!(event instanceof CustomEvent)) return;
59
- handler(event.detail);
60
- };
61
- window.addEventListener(AGG_DEPOSIT_NOTIFICATION_EVENT, handleDepositNotification);
62
- return () => {
63
- window.removeEventListener(AGG_DEPOSIT_NOTIFICATION_EVENT, handleDepositNotification);
64
- };
65
- };
66
-
67
51
  // src/shared/constants.ts
68
52
  var USDC = {
69
53
  value: "USDC",
@@ -4276,7 +4260,6 @@ var GeoBlockModal = ({
4276
4260
  GeoBlockModal.displayName = "GeoBlockModal";
4277
4261
 
4278
4262
  export {
4279
- subscribeAggDepositNotification,
4280
4263
  CARD_NETWORK_OPTIONS,
4281
4264
  clearPendingCardSession,
4282
4265
  getPendingCardSession,