@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
package/dist/pages.mjs CHANGED
@@ -8,17 +8,17 @@ import {
8
8
  UserProfilePage,
9
9
  buildAggTxExplorerHref,
10
10
  useHomePageModals
11
- } from "./chunk-IQT4I5B4.mjs";
12
- import "./chunk-NK57KMYN.mjs";
11
+ } from "./chunk-TAGPAADA.mjs";
12
+ import "./chunk-TBZWRUFB.mjs";
13
13
  import {
14
14
  DEPOSIT_MODAL_OPEN_EVENT,
15
15
  WITHDRAW_MODAL_OPEN_EVENT,
16
16
  requestAggDepositModalOpen,
17
17
  requestAggWithdrawModalOpen
18
- } from "./chunk-XHDGSRG7.mjs";
19
- import "./chunk-TERG43WW.mjs";
20
- import "./chunk-RPXRTXCY.mjs";
21
- import "./chunk-YJO6LMRT.mjs";
18
+ } from "./chunk-BW7S2YR3.mjs";
19
+ import "./chunk-R2YNZJZ3.mjs";
20
+ import "./chunk-T4YZGAYS.mjs";
21
+ import "./chunk-VP76G6PN.mjs";
22
22
  export {
23
23
  DEPOSIT_MODAL_OPEN_EVENT,
24
24
  EventMarketPage,
@@ -6517,7 +6517,63 @@ var SEARCH_DEBOUNCE_MS = 300;
6517
6517
 
6518
6518
  // src/primitives/search/search.utils.ts
6519
6519
  var import_sdk11 = require("@agg-build/sdk");
6520
+ var import_dayjs3 = __toESM(require("dayjs"));
6521
+
6522
+ // src/events/shared/format-sports-event-time.ts
6520
6523
  var import_dayjs2 = __toESM(require("dayjs"));
6524
+ var import_timezone = __toESM(require("dayjs/plugin/timezone"));
6525
+ var import_utc = __toESM(require("dayjs/plugin/utc"));
6526
+ import_dayjs2.default.extend(import_utc.default);
6527
+ import_dayjs2.default.extend(import_timezone.default);
6528
+ var SPORTS_EVENT_TIMEZONE = "America/New_York";
6529
+ var SPORTS_EVENT_TIME_FORMAT = "MMM D, h:mm A";
6530
+ var formatSportsEventTimeEt = (value) => {
6531
+ const resolvedValue = value.trim();
6532
+ if (!resolvedValue) return null;
6533
+ const parsedValue = import_dayjs2.default.utc(resolvedValue);
6534
+ if (!parsedValue.isValid()) return null;
6535
+ return `${parsedValue.tz(SPORTS_EVENT_TIMEZONE).format(SPORTS_EVENT_TIME_FORMAT)} ET`;
6536
+ };
6537
+
6538
+ // src/events/shared/format-event-title.ts
6539
+ var SPORT_CATEGORY_TOKENS = /* @__PURE__ */ new Set(["sport", "sports"]);
6540
+ var normalizeCategoryToken = (value) => {
6541
+ if (typeof value !== "string") return null;
6542
+ const normalizedValue = value.trim().toLowerCase();
6543
+ if (!normalizedValue) return null;
6544
+ return normalizedValue;
6545
+ };
6546
+ var isSportCategoryToken = (value) => {
6547
+ const normalizedValue = normalizeCategoryToken(value);
6548
+ if (!normalizedValue) return false;
6549
+ return SPORT_CATEGORY_TOKENS.has(normalizedValue);
6550
+ };
6551
+ var isSportEvent = (categories, structureType) => {
6552
+ var _a;
6553
+ if (isSportCategoryToken(structureType)) return true;
6554
+ return (_a = categories == null ? void 0 : categories.some((categoryEntry) => {
6555
+ var _a2, _b, _c, _d;
6556
+ 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);
6557
+ })) != null ? _a : false;
6558
+ };
6559
+ var formatEventTitleWithDateSuffix = ({
6560
+ title: title2,
6561
+ categories,
6562
+ structureType,
6563
+ gameStartTime,
6564
+ endDate
6565
+ }) => {
6566
+ const resolvedTitle = title2.trim();
6567
+ if (!resolvedTitle) return resolvedTitle;
6568
+ if (!isSportEvent(categories, structureType)) return resolvedTitle;
6569
+ const dateSource = gameStartTime != null ? gameStartTime : endDate;
6570
+ if (!dateSource) return resolvedTitle;
6571
+ const formattedDate = formatSportsEventTimeEt(dateSource);
6572
+ if (!formattedDate) return resolvedTitle;
6573
+ const suffix = ` - ${formattedDate}`;
6574
+ if (resolvedTitle.endsWith(suffix)) return resolvedTitle;
6575
+ return `${resolvedTitle}${suffix}`;
6576
+ };
6521
6577
 
6522
6578
  // src/events/item/event-list-item.utils.ts
6523
6579
  var import_hooks26 = require("@agg-build/hooks");
@@ -6766,18 +6822,9 @@ var resolveTileImage = (event, primaryVenueMarket, imageOverride) => {
6766
6822
  var formatCountLabel = (count, singular, plural) => {
6767
6823
  return `${count} ${count === 1 ? singular : plural}`;
6768
6824
  };
6769
- var getVenueSummary = (venueMarkets, options) => {
6825
+ var getVenueSummary = (venueMarkets) => {
6770
6826
  const normalizedVenueMarkets = normalizeVenueMarketCluster(venueMarkets);
6771
- const tradableVenues = options == null ? void 0 : options.tradableVenues;
6772
- const isVenueTradable = (venue) => {
6773
- if (tradableVenues == null) return true;
6774
- return tradableVenues.has(venue);
6775
- };
6776
- const uniqueVenues = Array.from(
6777
- new Set(
6778
- normalizedVenueMarkets.filter((market) => isVenueTradable(market.venue)).map((market) => market.venue)
6779
- )
6780
- );
6827
+ const uniqueVenues = Array.from(new Set(normalizedVenueMarkets.map((market) => market.venue)));
6781
6828
  return {
6782
6829
  marketCount: normalizedVenueMarkets.length,
6783
6830
  venueCount: uniqueVenues.length,
@@ -6797,8 +6844,8 @@ var resolveDisplayVolume = (eventVolume, venueMarkets) => {
6797
6844
 
6798
6845
  // src/primitives/search/search.utils.ts
6799
6846
  var formatSearchContextLabel = (value) => {
6800
- if (!(0, import_dayjs2.default)(value).isValid()) return value;
6801
- return (0, import_dayjs2.default)(value).format("MMMM D, YYYY");
6847
+ if (!(0, import_dayjs3.default)(value).isValid()) return value;
6848
+ return (0, import_dayjs3.default)(value).format("MMMM D, YYYY");
6802
6849
  };
6803
6850
  var venueLogoNameSet = new Set(import_sdk11.VENUES);
6804
6851
  var toVenueLogoName = (value) => {
@@ -6816,7 +6863,13 @@ var mapVenueEventToSearchResult = (event, labels, formatPercent, formatCompactCu
6816
6863
  if (!visibleOutcome) return null;
6817
6864
  const probability = normalizeProbability(visibleOutcome.outcome.price);
6818
6865
  if (probability == null) return null;
6819
- const resolvedTitle = (_a = event == null ? void 0 : event.title) == null ? void 0 : _a.trim();
6866
+ const resolvedTitle = formatEventTitleWithDateSuffix({
6867
+ title: (_a = event == null ? void 0 : event.title) != null ? _a : "",
6868
+ categories: event.categories,
6869
+ structureType: event.structureType,
6870
+ gameStartTime: event.gameStartTime,
6871
+ endDate: event.endDate
6872
+ });
6820
6873
  if (!resolvedTitle) return null;
6821
6874
  const { marketCount, venueCount } = getVenueSummary(event.venueMarkets);
6822
6875
  const marketSummaryLabel = [
@@ -7079,7 +7132,7 @@ var Search = ({
7079
7132
  validatedResults: nextResults,
7080
7133
  eventsByResultId: nextEventsByResultId
7081
7134
  };
7082
- }, [openEvents, formatCompactCurrency, formatPercent, labels]);
7135
+ }, [formatCompactCurrency, formatPercent, labels, openEvents]);
7083
7136
  const hasSearchValue = trimmedValue.length > 0;
7084
7137
  const shouldRenderDropdown = isFocused && shouldSearchValue && !searchConfig.result && !searchConfig.isShowingAllResults;
7085
7138
  const resolvedIsActive = isFocused;
@@ -8175,7 +8228,7 @@ var Select = ({
8175
8228
  disabled: item.disabled,
8176
8229
  className: cn(
8177
8230
  "agg-select-item",
8178
- "relative flex w-full items-center gap-3 rounded-[6px] px-5 py-3 text-left text-agg-sm leading-agg-5 outline-none",
8231
+ "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",
8179
8232
  "hover:bg-agg-secondary-hover focus-visible:bg-agg-secondary-hover",
8180
8233
  isSelected ? "bg-agg-primary/10 font-agg-normal text-agg-primary" : "font-agg-normal text-agg-foreground",
8181
8234
  item.disabled && "cursor-not-allowed opacity-60",
@@ -8392,13 +8445,20 @@ var resolveStateMessageHasAction = ({ onAction }) => {
8392
8445
 
8393
8446
  // src/primitives/state-message/index.tsx
8394
8447
  var import_jsx_runtime127 = require("react/jsx-runtime");
8395
- var StateMessage = ({
8396
- icon,
8397
- title: title2,
8398
- description,
8399
- onAction,
8400
- classNames
8401
- }) => {
8448
+ var StateMessage = (_a) => {
8449
+ var _b = _a, {
8450
+ icon,
8451
+ title: title2,
8452
+ description,
8453
+ onAction,
8454
+ classNames
8455
+ } = _b, rest = __objRest(_b, [
8456
+ "icon",
8457
+ "title",
8458
+ "description",
8459
+ "onAction",
8460
+ "classNames"
8461
+ ]);
8402
8462
  const labels = (0, import_hooks33.useLabels)();
8403
8463
  const hasAction = resolveStateMessageHasAction({ onAction });
8404
8464
  const resolvedIcon = (0, import_react12.cloneElement)(icon, {
@@ -8407,7 +8467,7 @@ var StateMessage = ({
8407
8467
  });
8408
8468
  return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
8409
8469
  "div",
8410
- {
8470
+ __spreadProps(__spreadValues({}, rest), {
8411
8471
  className: cn(
8412
8472
  "agg-state-message",
8413
8473
  "flex min-h-[240px] w-full flex-col items-center justify-center px-5 py-10 text-center md:px-10",
@@ -8466,7 +8526,7 @@ var StateMessage = ({
8466
8526
  ]
8467
8527
  }
8468
8528
  )
8469
- }
8529
+ })
8470
8530
  );
8471
8531
  };
8472
8532
  StateMessage.displayName = "StateMessage";
@@ -99,7 +99,7 @@ import {
99
99
  useOptionalToast,
100
100
  useToast,
101
101
  venueLogoNames
102
- } from "./chunk-YJO6LMRT.mjs";
102
+ } from "./chunk-VP76G6PN.mjs";
103
103
  export {
104
104
  ActivityChartIcon,
105
105
  AggErrorBoundary,